![](/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.