最近看完熟悉了springboot框架之后,一直着手去练习一些简单的项目。做项目过程中,就发现一个问题。后端Controller接口应该怎么写,怎么去接收不同的并处理不同的数据这块比较模糊,找了很多学习资料但发现这块并没有什么很详细的解释。目前找到一篇相对来说比较详细的是下面的链接。本文也是有所借鉴,但是在内容上进行了补充和完善。
参考文章链接:https://blog.youkuaiyun.com/suki_rong/article/details/80445880
说实话,目前一些教程都弄得花里胡哨,当然不是没用,而是对于新人,基本前期根本用不到,学了毫无实际。像这种springboot怎么去处理数据,这我觉得是最基础的。我也不知道是因为这东西太简单,就我太菜还是咋回事。反正没什么人仔细讲解这一块。
下面我们一起,把这块的知识点细致的过一遍。有些东西我说得比较浅显,有不少的漏洞。只是为了方便萌新门理解知识点。并且我也不是大佬,如果有什么不对的,请留言告知。万分感谢!!!!
一、路径参数和查询参数的获取
路径参数 简单说网址url里面所携带的数据。例如我这边博客的链接
https://blog.youkuaiyun.com/qq_43291207/article/details/110789568
这里可以看到我们输入网址之后,也就是GET网址之后,就访问了优快云的服务器,然后返回给了目前我们看到的这个页面。那么问题来了服务器里面页面这么多怎么知道要展示哪一个。我们这边传给服务器的只有这个网址。那么真相只有一个,肯定是这个网址上有提供信息嘛。信息不就是网址后半段嘛。
.../qq_43291207/article/details/110789568
这是啥?专业名称路径参数。那我写的接口应该怎么从URL里把这东西拿下来。不拿下来等于说有个小姐姐给你写了封情书,你却不打开看。那有啥用。我们肯定要知道怎么打开嘛。打开方式很简单,一个注释代码搞定那就是:
1、@PathVariable
@PathVariable作用很简单获取路径参数。也就是把数据从URL中拿下来。也就是打开小姐姐的那封情书。
具体怎么使用呢,我们先举个简单的例子。因为追我们的妹子很多哈,不止一个。那么第一个妹子叫Rose呢,她只是在人群中看了你一眼。对你呢所知不多,也很矜持所以情书内容写得比较少。内容如下:
http://localhost:8080/jack/ILOVEYOU
真的发给你门了,我截图了。你们别说没收到哈。
那么我们应该怎么接受呢。来来来我直接教你。
@GetMapping("/jack/{qingshu}")
public void demo1(@PathVariable(name = "qingshu") String qingshu){
System.out.println("情书内容是="+qingshu);
}
应该能看明白吧。 还是解释一下好了。怕你们单身狗看不明白。
第一行: @GetMapping("/jack/{qingshu}")
@GetMapping ——这个小姐姐用的是GET方式送的情书。
/jack ——表示写给谁的信。在座的都是rose的jack哈。
/{qingshu}——你知道人家小姐姐给你发的是情书呀。所以命名就是情书。
第二行:public void demo1(@PathVariable(name = “qingshu”) String qingshu)
@PathVariable(name = “qingshu”) String qingshu ——你看了看手里的东西,知道了,嗯是你们预先就知道要收到的情书。并且还在封面上再写了一次写了qingshu,免得自己拿出放在一堆文件里丢掉了。
第三行:System.out.println(“1=”+qingshu);
这个时候,你激动不以的大声朗读了出来。还发给我炫耀说一个小姐姐给你写情书了。单身20几年的生活要结束了。还嘲讽我。别说没有!!!我截图了。
行了,应该知道怎么都情书了吧。看在你们会给我***一键三连***的份上,我就默默吃狗粮好了。
。。。
。。。
不行,我还是很担心你们啊。这简单的情书会读了。复杂的你们可能还是不会。就当我考考你们好了。会的可以自己想一下写一下。不会的,看我的操作就完事了。来吧!展示!
这是第二个小姐姐。这个小姐姐呢,是你的同事,对你呢挺熟的。并且也很主动。给你写情书的同时,还说要请你看电影。内容如下:
http://localhost:8080/jack/ILOVEYOU/NiDeMingZi
好了已经知道怎么都情书的,可以自己读一下。这边呢我先给你们排排坑。首先如果你觉得小姐姐只会给你写情书。那你直接就不可能收到小姐姐的爱意。别不信,我是过来人。给你们看看结果。
解读情书方式跟之前一样不变。
@GetMapping("/jack/{qingshu}")
public void demo1(@PathVariable(name = "qingshu") String qingshu){
System.out.println("情书内容是="+qingshu);
}
小姐姐写好了情书
结果呢
不好意思,你对这个小姐姐了解的太少,为什么这么说呢,你都想不到这小姐姐除了写情书还会请你看电影,买电影票。这种小姐姐你能搞到手吗?肯定不行呀。那么我们应该换个怎样的方式去接受这个小姐姐的爱意呢。方法如下:
@GetMapping("/jack/{qingshu}/{moive}")
public void demo02(@PathVariable(name = "qingshu") String qingshu,@PathVariable(name = "moive") String moive){
System.out.println("情书内容是="+qingshu);
System.out.println("看的电影是="+moive);
}
下面是结果。
细节就不说了。相信你们应该都理解其中的意思。回到最开始,说到这边文字的网址
http://localhost:8080/qq_43291207/article/details/110789568
那么如果想取下里面的数据,接口 @GetMapping()的括号里需要写4个内容。参数名称可以自己定哈。
如果这边都能理解掌握,那么下一个小姐姐来了。直接来看看情书先。
http://localhost:8080/jack/ILOVEYOU?liwu=paoche
是不是有点小懵。这个“?liwu=paoche”是哈。专业名词是查询参数。怎么理解呢,就是这个小姐姐可不得了。不仅好看,家里还很有钱。大家都叫她小富婆。你看这不,在写情书的时候,顺带送了你一个礼物。
那礼物怎么接收呢?我们继续!!
2、@RequestParam
用了这个,我们就能知道礼物怎么收了。上代码:
@GetMapping("/jack/{qingshu}")
public void list1(@PathVariable(name = "qingshu") String qingshu,
@RequestParam(name = "liwu") String liwu){
System.out.println("情书内容是 "+qingshu);
System.out.println("礼物"+liwu);
}
简单解释,应该都能看懂,这里就是用@RequestParam来收礼物。当然你不写也没关系,就等于说你不知道小姐姐还有礼物要送给你,你也就收不到了。哈哈哈。当然同样的礼物可能不止一个。小姐姐可能还会送多个礼物,比如下面情书:
http://localhost:8080/jack/ILOVEYOU?liwu1=paoche&liwu2=feiji
这个时候,如果你觉得小姐姐止送了一个,那就只能收一个,要两个就必须提前想到哦。
@GetMapping("/jack/{qingshu}")
public void demo03(@PathVariable(name = "qingshu") String qingshu,
@RequestParam(name = "liwu1") String liwu1,
@RequestParam(name = "liwu2") String liwu2){
System.out.println("情书内容是 "+qingshu);
System.out.println("礼物1是"+liwu1);
System.out.println("礼物2是"+liwu2);
}
结果如下图
应该都OK吧。这里再提一句。如果你本来想着小姐姐是送两个礼物的,但是那个小姐姐只送了一个礼物,那那个小姐姐的情书你是收不到的。自己品哈。
这边如果都理解搞定了。那么接下来的小姐姐,可是更加的好看哦。至于怎么撩。。。大哥们!!!!一键三连吧。不行点个赞也行。然后看我下一篇博客。我们继续聊聊怎么撩小姐姐!!!
。。。
。。。
。。。
对了!还有个事哈。反正我不知道是谁,反正给我一键三连的人里面,有个人五年之后,月入百万哈。