![](/img/trans.png)
[英]RESTful web services framework comparison with Spring MVC REST support
[英]queryparm support in spring for restful web services
我怎样才能以真正宁静的方式通过 spring 获得宁静的 web 服务的查询queryparam
支持......
例如我有 url 如下
localhost:8080/myapp/booksearch/title/{title}/author/{author}?sortby=relevance&year=2013
标题和作者我可以通过@PathVariable
.....
我想要 sortby 和 year 可选..
您可以在方法参数上使用@RequestParam
注释
@RequestMapping (...)
public String getBooks(@RequestParam(required = false, value = "sortby") String sortBy, @RequestParam(required = false, value = "year") String year) {...}
如果未提供请求参数,则@RequestParam
注释还具有defaultValue
属性以用作值。 如果没有它,如果未提供参数,则null
将作为该参数的参数传递。
为了获得更好的订单,您可以使用Swagger,它还可以让您按顺序记录您的端点。
您可以使用Class对queryParams进行分组并将其作为Controller方法的参数传递,如下所示:
@RequestMapping("/books")
public String getbBoks(MyParams params) {...}
为了描述参数,你只需要这样做:
@ApiModel
public class MyParams {
@ApiParam(
name = "sortby",
type = "string",
required = false
)
private String sortby;
@ApiParam(
name = "year",
example = "2017 , 2016",
type = "integer",
required = false
)
private int year;
}
Spring 注释 @RequestParam 用于获取查询参数,而 @PathVariable 用于获取路径中的变量或 url 用花括号声明的变量,如localhost:8080/myapp/booksearch/title/{title}
。
因此,在您的情况下,您需要 @RequestParam 来获取 sortedBy 和年份值。 你可以简单地写public String getBooks(@RequestParam("sortby") String sortBy)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.