当我尝试将PUT请求发送到我的控制器的处理程序时,一切正常
@RequestMapping(method = RequestMethod.PUT,
consumes = "application/json",
headers = "content-type=application/json")
public String updateCompany(@RequestBody Company company) {
companyRepository.updateCompany(company);
return "redirect:/api/company/" + company.getId();
}
但是当它重定向到另一个处理程序
时@RequestMapping(value = "/{id}", method = GET,
produces = "application/json")
public @ResponseBody Company getCompany(@PathVariable("id") Integer id) {
Company c = companyRepository.getCompany(id);
return new CompanyToJsonWrapper(c);
}
我收到HTTP Status 405 - Request method 'PUT' not supported
错误。任何想法如何解决它?
答案 0 :(得分:2)
我不认为你想这样做。它没有意义。为什么要提供新信息然后重定向到GET?您有什么意图,在公司更新后返回公司?如果是这样,为什么不从您的PUT返回公司?否则,让您的客户端对GET进行第二次REST调用,而不是从Controller重定向。