击上方蓝色字体,选择“标星公众号”
优质文章,第一时间送达
大家好,我是燕子!
在使用RESTful风格不同于普通借口命名的一点是,它规范使用/来表示资源之间的层级关系。
对于普通形式命名的接口,假设需要传入lessonId、lessonType2个必选项,在controller传入参数时,可以写成下图的形式:
![c29f5c49b5208beef96def81d0259267.png](https://i-blog.csdnimg.cn/blog_migrate/2f47c2da2c83d9f30c827425bc1852bc.png)
但是对于RESTful风格的url,传入参数是应该用到@PathVariable注解,示例解析如下:
![476ec852294ed6a79cb8659f596f5fb1.png](https://i-blog.csdnimg.cn/blog_migrate/ebfd78dc588173a0e84a482ee344afee.png)
那么对于传入传入lessonId、lessonType2个必选项时,用@PathVariable
注解的话,应该写成:
![b24df89bbbb98f589d7ff4b7b0f1d882.png](https://i-blog.csdnimg.cn/blog_migrate/ae1f86c3386a741d76379d00245309b9.png)
调用之后的结果显示成功。
![b9b7bc45a04d875a162caf0b096c483f.png](https://i-blog.csdnimg.cn/blog_migrate/50a4d15f7095c3a4fa8c66e0cdf006fc.png)
但是,还有一种情况,假如传入的参数有的是非必选项,那么应该把可能出现的url在声明时全部列出来,并且把@PathVariable
注解配置的参数设置为非必选(required=false),如下图:
![1d20a5d379dcda6847c6213932607934.png](https://i-blog.csdnimg.cn/blog_migrate/855a02df34aa1a51d55ce71814051a1c.png)
调用之后结果如下:
![462fb1d5b46af17b6ebf38815379d192.png](https://i-blog.csdnimg.cn/blog_migrate/d911a1fa4363700df7d45ed770dcb446.png)
由此可见,对于RESTful风格的接口,当查询接口需要传入一个或者两个参数的时候,编码起来较为简单,但是当传入3个以上参数的手,要列举出url的所有可能性还是比较复杂的。所以,RESTful风格的接口传入参数比较复杂时,还是尽量使用POST方法比较简便。
(感谢阅读,希望对你所有帮助)
来源:blog.csdn.net/qq_35075909/article/details/94005211
往期推荐
🔗