繁体   English   中英

如何在RESTful Spring MVC控制器中正确重定向

[英]How to redirect properly in RESTful Spring MVC controller

当我尝试将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错误。 任何想法如何解决?

我不认为您要这样做。 这没有道理。 您为什么要输入新信息然后重定向到GET? 您打算在公司更新后退还公司的意图是什么? 如果是这样,那为什么不从您的PUT退还公司? 否则,让您的客户端对GET进行第二次REST调用,而不是从Controller进行重定向。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM