基于@GetMapping注解携带参数的方式

作者:程序逸 时间:2023-01-26 20:49:32 

@GetMapping注解携带参数方式

今天突然发现,当我们根据id查询用户信息时,如果不想通过localhost:8080//findOne?id=1来访问,而是通过localhost:8080//findOne/1这样的url来访问,结果找了一大圈都没有发现,现在来说明一下实现。

 

基于@GetMapping注解携带参数的方式

这里使用@PathVariable注解来注解参数,value中使用{参数名}来实现。

使用@GetMapping注解,用一个对象来接受参数报错400

controller 

@GetMapping("/products")
public ApiResult<List<YxStoreProductQueryVo>> goodsList(YxStoreProductQueryParam productQueryParam){
        return ApiResult.ok(storeProductService.getGoodsList(productQueryParam));
    }

接受参数的实体

@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="YxStoreProductQueryParam对象", description="商品表查询参数")
public class YxStoreProductQueryParam extends QueryParam {
    private static final long serialVersionUID = 1L;
    private int page;   
    private int limit;
    private int sid;
    private int cid;
    private int news;
    private String priceOrder;
    private String salesOrder;
    private String keyword;
    private Integer brandId;    
}

请求地址:

http://127.0.0.1:8008/api/products?page=&limit=8&keyword=&sid=129&news=0&priceOrder=&salesOrder=

后台打印报错信息:

Field error in object 'yxStoreProductQueryParam' on field 'page': rejected value []; codes [typeMismatch.yxStoreProductQueryParam.page,typeMismatch.page,typeMismatch.int,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [yxStoreProductQueryParam.page,page]; arguments []; default message [ page ]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'int' for property 'page'; nested exception is java.lang.NumberFormatException: For input string: ""]

解决办法(总结)

如果参数是int或者Integer类型的,要么就不传参数要么就要传递一个具体的数

错误方法:

http://127.0.0.1:8008/api/products?page=&limit=8&keyword=&sid=129&news=0&priceOrder=&salesOrder=

正确方法:

http://127.0.0.1:8008/api/products?limit=8&keyword=&sid=129&news=0&priceOrder=&salesOrder= 

来源:https://blog.csdn.net/qq_43265564/article/details/117334172

标签:@GetMapping,注解,参数
0
投稿

猜你喜欢

  • 不使用他人jar包情况下优雅的进行dubbo调用详解

    2022-04-20 11:43:46
  • springboot配置http跳转https的过程

    2021-12-25 07:31:11
  • C++实现LeetCode(5.最长回文子串)

    2023-07-03 06:07:13
  • android intent使用定义标题

    2023-11-07 07:06:17
  • Spring Boot 读取静态资源文件的方法

    2023-08-25 02:53:07
  • Java面向接口编程之简单工厂模式示例

    2021-07-14 21:40:27
  • C#关于类的只读只写属性实例分析

    2021-06-12 04:24:11
  • Java C++分别实现滑动窗口的最大值

    2023-04-12 02:59:21
  • 将替代ListView的RecyclerView 的使用详解(一)

    2023-12-05 07:57:00
  • 分享Java多线程实现的四种方式

    2022-02-23 06:34:21
  • Java日常练习题,每天进步一点点(63)

    2021-10-22 12:35:44
  • Android中使用GridView实现仿微信图片上传功能(附源代码)

    2023-11-27 02:01:25
  • SpringMVC执行过程详细讲解

    2023-06-07 10:04:54
  • C#使用System.Net邮件发送功能踩过的坑

    2022-09-09 18:16:11
  • 详解Java8中的lambda表达式、::符号和Optional类

    2022-02-03 03:04:56
  • Java中的双重检查(Double-Check)详解

    2023-02-23 21:05:23
  • 关于后端如何解决跨域的问题说明

    2023-09-19 00:59:10
  • Mybatis之association和collection用法

    2021-10-13 10:09:10
  • Java调用groovy实现原理代码实例

    2023-05-16 16:41:51
  • springboot配置文件的加载顺序解析

    2022-11-09 01:30:01
  • asp之家 软件编程 m.aspxhome.com