Java Spring控制器Post
我需要帮助创建对Java Spring Restcontroller的POST请求 这是我的控制器-Java Spring控制器Post,java,spring,post,http-status-code-400,Java,Spring,Post,Http Status Code 400,我需要帮助创建对Java Spring Restcontroller的POST请求 这是我的控制器- @RestController @RequestMapping("hedgesimulator/") public class HedgeSimulatorController { @RequestMapping(value = "hedgesim/", method = RequestMethod.POST) @ResponseBody public HedgeSim
@RestController
@RequestMapping("hedgesimulator/")
public class HedgeSimulatorController {
@RequestMapping(value = "hedgesim/", method = RequestMethod.POST)
@ResponseBody
public HedgeSimulatorLog putHedgeSimulation(
@RequestBody HedgeSimulatorLog hedgeSimulatorLog) {
System.out.println(hedgeSimulatorLog.toJsonString());
return hedgeSimulatorLog;
}
}
我正在使用Chrome的“高级Rest客户端”插件将我的请求发布到我的URL(我确信我的本地主机运行正常,等等)
我需要在标题中添加什么?
我收到“HTTP 400-状态报告:客户端发送的请求在语法上不正确”的错误
请帮忙 若要将对象传递给控制器,您必须配置HttpMessageConverter,它支持此对象的序列化和反序列化。例如,如果要将对象作为JSON传递给控制器,请在spring配置文件中的mvc声明中将MappingJackson2HttpMessageConverter设置为参数
<mvc:annotation-driven>
<mvc:message-converters>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/>
</mvc:message-converters>
</mvc:annotation-driven>
如果http消息转换器配置正确,则可能是请求格式不正确。@RequestMapping(value=“/hedgesim/”,method=RequestMethod.POST)尝试以下方法,希望您可以解决此问题:
@RestController
注释,因此无需再次使用@ResponseBody
注释,这是多余的 <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
org.springframework.boot
SpringBootStarterWeb
com.fasterxml.jackson.databind.ObjectMapper
希望有帮助。您可以进行以下检查
@RestController
,则无需使用@ResponseBody
。所以把它拿走有关使用Spring 4.0创建和使用REST服务的完整示例,您可以访问。您可能希望将Spring MVC日志记录级别设置为DEBUG,并检查服务器访问日志,以了解有关请求的更多信息。听起来这个请求是错误的——也可以尝试使用curl或其他命令行工具执行请求。最后,
@ResponseBody
在@RestController
中是多余的,我认为请求负载不能转换成HedgeSimulatorLogbean。您可以发布HedgeSimulatorLogbean和示例JSON负载吗?