就“菜”系列篇章 ONE
嗯,今天是“吐槽”篇,就我这个“菜”哈,就是受“外界因素”的影响,两天两天的理智不在线,就作为一个女程序员,会不会都会有情绪影响智商啊^_^?
今天和前端一个男生联调,就这个请求参数的问题,差点给老子气死(自己的锅)。就几个注解哈:@ApiParam、@RequestParam、@RequestBody。
来,先解释技术性的问题哈,完了再吐槽!
1、@ApiParam 这个注解呢,用过Swagger的小伙伴应该都知道哈,
Swagger中使用在方法上或者参数上,字段说明;表示对参数的添加元数据(说明或是否必填等)
有几个参数:name–参数名、value–参数说明、required–是否必填
例:@ApiParam(value="test",name="测试",required = true)
2、@RequestParam
接收的来自HTTP请求体或请求url的QueryString中的参数。
RequestParam可以接受简单类型的属性,也可以接受对象类型。
@RequestParam有三个配置参数:
required 表示是否必须,默认为 true,必须。defaultValue 可设置请求参数的默认值。value 为接收url的参数名(相当于key值)。
例:@RequestParam(value = "test",required = false,defaultValue = "")
3、@RequestBody(不可以用在GET请求中哈)
接收的参数是来自requestBody中,即请求体。一般用于处理非 Content-Type: application/x-www-form-urlencoded编码格式的数据,比如:application/json、application/xml等类型的数据。
这个注解后面最好跟一个请求实体哈,如果是String之类的,还需要JSON格式转换一下。
例:@RequestBody Test test
总结 :
在GET请求中,不能使用@RequestBody。
在POST请求,可以使用@RequestBody和@RequestParam,但是如果使用@RequestBody,对于参数转化的配置必须统一。
可以使用多个@RequestParam获取数据,@RequestBody不可以
@ApiParam就是打酱油的哈,只不过是个人原因将它们仨搞混了。
接下来就是“吐槽”了
算了,不吐了,写完就没得脾气了,大家记得,不管遇到多奇怪的事情,要保持理智,拜拜,下期见。

浙公网安备 33010602011771号