我在浏览器加载为 localhost:8080 / picking / addPick获取错误HTTP状态405 - 请求方法' GET'不支持。
有什么不对?希望建议谢谢
@Controller
@RequestMapping("/picking")
public class PickerController {
@RequestMapping(method = RequestMethod.GET)
public @ResponseBody ArrayList getAllPickingItems()throws SQLException, ClassNotFoundException{
//....
}
@RequestMapping(value="/addPick",method=RequestMethod.POST)
@ResponseStatus(HttpStatus.CREATED)
public Boolean add(@RequestBody PickingInfo pickingInfo,HttpServletResponse response){
try{
Boolean success = pickerMethod.addPickingInfo(pickingInfo);
response.setHeader("addPickingInfo", success+"");
return true;
}catch(Exception ex){
System.out.println(ex.getMessage());
}
return false;
}
}
答案 0 :(得分:2)
您将URI /picking/addPick
限制为POST请求:
@RequestMapping(value="/addPick",method=RequestMethod.POST)
当您尝试从浏览器打开该URI时,您发送的是GET请求,而不是POST。如果您希望能够从浏览器访问/ pick / addPick,您必须:
method=RequestMethod.POST
method = { RequestMethod.POST, RequestMethod.GET }
如果您只想测试POST方法,请使用SoapUI。只需创建一个“新的REST项目”,粘贴您的服务URI,并发送您想要的任何类型的HTTP请求。
答案 1 :(得分:0)
您已将/ addPick映射到add
方法仅用于POST请求。因此GET没有映射到任何东西(在这种情况下,映射获取方法没有意义,因为你也在使用@RequestBody
)