【六褘-Spring】Spring @RequestParam批註的解釋

1.設置指定請求參數名稱

 

在前面的示例中,變量名稱和參數名稱相同。

有時候,我們希望它們有所不同。或者,如果我們不使用Spring Boot,則可能需要進行特殊的編譯時配置,否則參數名稱實際上將不在字節碼中。

但是很好的是,我們可以使用name屬性配置  @RequestParam名稱:

1
2
3
4
5
@PostMapping("/api/foos")
@ResponseBody
public String addFoo(@RequestParam(name = "id") String fooId, @RequestParam String name) {
    return "ID: " + fooId + " Name: " + name;
}

我們還可以執行  @RequestParam(value =“ id”)或僅執行@RequestParam(“ id”)。


2.設置可選的請求參數

 

 默認情況下,需要使用@RequestParam註釋的方法參數  。

這意味着,如果請求中不存在該參數,則會收到錯誤消息:

1
2
3
4
GET /api/foos HTTP/1.1
-----
400 Bad Request
Required String parameter 'id' is not present

但是,我們可以將@RequestParam配置爲可選,並具有必填 屬性:

 
1
2
3
4
5
@GetMapping("/api/foos")
@ResponseBody
public String getFoos(@RequestParam(required = false) String id) {
    return "ID: " + id;
}

在這種情況下,兩者:

1
2
3
http://localhost:8080/api/foos?id=abc
----
ID: abc

1
2
3
http://localhost:8080/api/foos
----
ID: null

將正確調用該方法。

如果未指定參數,則方法參數綁定爲null

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章