當我使用@PostMapping
時,我將通過ResponseStatus
註釋一起給出CREATED(201)
響應狀態。與@DeleteMapping
,@PutMapping
等相同。可以在RequestMapping中設置默認的ResponseStatus?
那麼,有什麼辦法可以在不同的requestMapping中設置默認響應狀態嗎?
當我使用@PostMapping
時,我將通過ResponseStatus
註釋一起給出CREATED(201)
響應狀態。與@DeleteMapping
,@PutMapping
等相同。可以在RequestMapping中設置默認的ResponseStatus?
那麼,有什麼辦法可以在不同的requestMapping中設置默認響應狀態嗎?
您可以使用ResponseEntity設置每個方法的HTTP響應 例子:
ResponseEntity.status(status);
你可以給從控制器的方法,你與它
您可以返回ResponseEntity
每個方法的狀態作爲您的地圖響應
示例代碼如下:
@GetMapping("/get")
public @ResponseBody ResponseEntity<String> get() {
return new ResponseEntity<String>("GET Response", HttpStatus.OK);
}
您可以在@DeleteMapping
,@PutMapping
等中使用相同的機制。
嗨,@Zico。說明可能有問題。我知道如何通過返回ResponseEntity返回狀態碼或使用ResponseStatus註解。我想要的是是否有配置方法,使PostMapping始終返回201沒有ResponseEntity或ResponseStatus註釋。謝謝。 –
可能的重複[如何響應HTTP 400錯誤在Spring MVC @ResponseBody方法返回字符串?](https://stackoverflow.com/questions/16232833/how-to-respond-with-http-400- error-in-a-spring-mvc-responsebody-method-returnin) – Tom
對不起,說明書可能有問題。我知道如何通過返回ResponseEntity返回狀態碼或使用ResponseStatus註解。我想要的是是否有配置方法,使PostMapping註釋始終返回201,而不使用ResponseEntity或ResponseStatus註釋。 –
您可以嘗試使用'@ ControllerAdvice',但我不確定它是否會解決您的問題 – Tom