Мне нужно выдать 405 для всех методов http, которые не определены в моем контроллере. Я использую весеннюю загрузку, есть ли общий способ написать его, чтобы мне не нужно было добавлять метод на моем контроллере для чтения всех методов HTTP, в настоящее время я не получаю никакого ответа, но он выдает 200 OK. Ниже мой контроллер, который имеет только GET и PUT. Я хочу бросить 405 для всех других методов.
@RestController("CardController")
@RequestMapping("/user/v1")
public class CardController {
@Autowired
ICardService iCardService;
@RequestMapping(value = "/{cardHolderId}/cards", produces = "application/json; charset=utf-8", method = RequestMethod.GET)
@ResponseBody
public AllCardsVO getCards(@PathVariable("cardHolderId") final String id) {
return jsonObj;
}
@RequestMapping(value = "/{cardHolderId}/cards/{cardId}", produces = "application/json; charset=utf-8", method = RequestMethod.GET)
@ResponseBody
public CardVO getCard(@PathVariable("cardHolderId") final String cardHolderId,
@PathVariable("cardId") final String cardId){
return jsonObj;
}
@RequestMapping(value = "/{cardHolderId}/cards/{cardId}", produces = "application/json; charset=utf-8", method = RequestMethod.PUT)
@ResponseBody
public CardVO putCard(@PathVariable("cardHolderId") final String cardHolderId,
@PathVariable("cardId") final String cardId, @RequestBody final RequestVO requestVO) {
return jsonObj;
}
Это то, что я написал в контроллере, но это не работает для PATCH.
@RequestMapping(value = "/**", produces = "application/json; charset=utf-8", method = { RequestMethod.OPTIONS,
RequestMethod.DELETE, RequestMethod.PATCH, RequestMethod.POST })
@ResponseBody
public void options(HttpServletResponse response) {
throw new MethodNotAllowedException();
}
Есть ли общий способ, которым я могу сделать это при весенней загрузке, какое-то переопределение конфигурации или служба, имеющая этот метод в каждом контроллере API, не кажется правильным. ЕСЛИ это единственный способ, как заставить PATCH работать. Я получаю ответ для PATCH, хотя у меня это не определено.
Любая помощь приветствуется.