getmapping接收参数,@getmappering注解
目录
@GetMapping注解携带参数方式使用@GetMapping注解,用一个对象来接受参数报错400解决办法(总结)
@GetMapping注解携带参数方式
今天突然发现,当我们根据编号查询用户信息时,如果不想通过localhost:8080//findOne?id=1来访问,而是通过localhost:8080//findOne/1这样的全球资源定位器(统一资源定位器)来访问,结果找了一大圈都没有发现,现在来说明一下实现。
这里使用@路径变量注解来注解参数,值中使用{参数名}来实现。
使用@GetMapping注解,用一个对象来接受参数报错400
控制器
@ get mapping(/products )公共API resultlistyxstoreproducqueryvo good list(yxstoreproducqueryparam productQueryParam){返回API结果。好的(商店产品服务。getgoodlist(productQueryParam));}接受参数的实体
@ Data @ EqualsAndHashCode(call super=true)@ API model(value= yxstoreproducqueryparam对象,描述=商品表查询参数)公共类YxStoreProductQueryParam扩展query param { private static final long serialVersionUID=1L;私有int页面;私有(同Internationalorganizations)国际组织限制;私有编号私有int cid私人(同Internationalorganizations)国际组织新闻;私有字符串价格订单私有字符串销售订单私有字符串关键字;私有整数brandId}请求地址:
http://127 .0 .0 .133608008/API/产品?page=limit=8 keyword=sid=129 news=0价格订单=销售订单=
后台打印报错信息:
字段"页面"上的对象" yxStoreProductQueryParam "中的字段错误:拒绝值[];代码[类型不匹配。yxstoreproducqueryparam。page,typeMismatch.page,typeMismatch.int,type mismatch];参数[组织。spring框架。语境。支持。defaultmessagesourceresolvable :代码[yxstoreproducqueryparam。page,page];参数[];默认消息[page]];默认消息[无法将" java.lang.String "类型的属性值转换为属性"页面"所需的" int "类型;对于输入字符串:"",嵌套异常为Java。郎。numberformatexception :]
解决办法(总结)
如果参数是(同国际组织)国际组织或者整数类型的,要么就不传参数要么就要传递一个具体的数
错误方法:
http://127 .0 .0 .133608008/API/产品?page=limit=8 keyword=sid=129 news=0价格订单=销售订单=
正确方法:
http://127 .0 .0 .133608008/API/产品?limit=8关键字=sid=129新闻=0价格订单=销售订单=
以上为个人经验,希望能给大家一个参考,也希望大家多多支持盛行它.
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。