【问题标题】:Spring Boot QueryParam IssueSpring Boot QueryParam 问题
【发布时间】:2021-07-25 07:35:30
【问题描述】:

我必须从查询字符串中检索数据 - 我的网址是

localhost:8080/api/data?query=name:Aman,Sam;surname:mishra&limit=10&index=0

我必须将 url 的值检索到模型,而不必将 @RequestParam 用作 query=name:Aman,sam;surname:mishra

它应该映射到模型。

我的控制器应该是这样的

@GetMapping("/send")
public String  getData(Filters filter) {
    System.out.println(filter.getName());
    System.out.println(filter.getSurname());
    System.out.println(filter.getLimit());
    System.out.println(filter.getIndex());
    return "working";
}

我的模型不应该知道我的 Url 的结构有没有办法自定义 URL 或 EndPoints 到模型的映射?

【问题讨论】:

  • 改用@RequestBody
  • 如果你提供你对这个问题的尝试会更好。

标签: java spring rest model endpoint


【解决方案1】:

您可以创建一个新的class 来保存属性并将class 的对象传递给您的controller,如下所示

你的属性持有者类

class Filter {
    String name;
    String surname;
    int limit;
    int index;

    public Filter() {
    }

    public Filter(String name, String surname, int limit, int index) {
        this.name = name;
        this.surname = surname;
        this.limit = limit;
        this.index = index;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSurname() {
        return surname;
    }

    public void setSurname(String surname) {
        this.surname = surname;
    }

    public int getLimit() {
        return limit;
    }

    public void setLimit(int limit) {
        this.limit = limit;
    }

    public int getIndex() {
        return index;
    }

    public void setIndex(int index) {
        this.index = index;
    }
}

你的终点

@GetMapping("/send")
public String  getData(@RequestBody Filter filter){
    System.out.println(filter.getName());
    System.out.println(filter.getSurname());
    System.out.println(filter.getLimit());
    System.out.println(filter.getIndex());
    return "working";
}

**理想情况下,如果发送任何有效负载,您应该更喜欢POST 而不是GET **

【讨论】:

    猜你喜欢
    • 2019-06-11
    • 2017-12-21
    • 2021-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-03
    • 2016-07-09
    • 2018-03-18
    相关资源
    最近更新 更多