[英]Spring controller to work similarly to both GET and POST methods
我的Spring应用程序中有一种如下所示的方法
@RequestMapping(value = "/search-result-doctors", method = RequestMethod.POST)
public String getDoctorSearchResults(String LastName, String Hospital, String Specialty, String date1, ModelMap model) {
//some logics
return "doctorchannelling/search-result-doctors";
}
进入“搜索结果医生”页面后,当我按URL中的Enter键时,它必须保留在同一页面中。 由于这是一个GET请求,因此我再次使用方法值RequestMethod.GET编写了相同的方法。
@RequestMapping(value = "/search-result-doctors", method = RequestMethod.GET)
public String getDoctorSearchResults(String LastName, String Hospital, String Specialty, String date1, ModelMap model) {
//some logics
return "doctorchannelling/search-result-doctors";
}
由于GET请求中的参数值String LastName,String Hospital,String Specialty,String date1不可用,我得到了异常
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.NullPointerException
我该如何解决这个问题
提前致谢
实际上,您只能定义一种方法来处理GET和POST
@RequestMapping(value = "/search-result-doctors", method = { RequestMethod.POST, RequestMethod.GET })
如果您在某些逻辑中获得了NPE,只需检查哪些参数为空。
除了@StanislavL所说的以外,您还应该使用@RequestParam(required=false)
注释参数。
public String getDoctorSearchResults(@RequestParam(required=false) String LastName,@RequestParam(required=false) String Hospital, @RequestParam(required=false) String Specialty, @RequestParam(required=false) String date1, ModelMap model) {
结合方法注释和@StanislavL给定的NullPointer校验,应该给您您想要的
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.