我的控制器中有一个POST方法应该从AJAX POST创建一个新的对象。
我创建了一个工厂方法,它将从HttpServletRequest
填充对象。但是,在提交请求时,工厂方法因处理请求对象中的参数时NullPointerException
而失败。
我已经查看了Stackoverflow上的几篇文章,似乎无法找到我的代码有问题。通常的建议似乎是我只需要在我的签名中添加HttpServletRequest
,Spring就会自动连接该对象。
它确实创建了一个请求对象,但创建的请求不包含任何参数。
@RestController
@RequestMapping("/lead")
@ComponentScan(basePackages = { "ch.company.app.backend" })
public class EventLeadController {
@Autowired
EventLeadRepository leadRepository;
@RequestMapping(value = "/", method = RequestMethod.POST, headers = "content-type=application/x-www-form-urlencoded")
public void saveLead(HttpServletRequest request) {
System.out.println("Country: " + request.getParameter("country")); // returns "Country: null"
EventLeadFactory leadFactory = new EventLeadFactory();
EventLead lead = leadFactory.createFromHttpServletRequest(request);
leadRepository.save(lead);
};
}
答案 0 :(得分:0)
请使用@RequestBody
注释。
例如:
public void saveLead(@RequestBody Model model)