我的卷曲请求如下。
$ curl -ki -X POST -H "Content-Type:application/json;charset=utf-8" localhost:8081/Customers-Spring-MVC-Hibernate/customer -d '{"name": "anil","age": 1,"phoneNumber": 77955,"email": "pvv.anilkumar@gmail.com","password": "Password"}'
我已经给出了内容类型:application / json但是我点击了415状态代码。 这是我得到的响应,我可以看到Content-Type:text / html正在设置这里是否正确..?
Content-Type:text / html; charset = utf-8 内容 - 语言:en 内容长度:1097 日期:2016年11月16日星期三05:29:27 GMT
这是我的控制器定义:
@RequestMapping(method = RequestMethod.POST)
public void addCustomer(
@RequestBody final CustomerV1 customerDto) throws Exception
{
如果有任何变通办法,请告诉我。 我已经尝试删除并添加charset-utf-8但没有用,我仍然打到415。
如果有任何问题,请添加我的DTO定义.. JSON DTO:
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonTypeName("customer")
public class CustomerV1 {
private String name;`enter code here`
private int age;
private long phoneNumber;
private String email;
private String password;
答案 0 :(得分:0)
尝试在处理程序方法上添加标题,如下所示,
@RequestMapping(value="/add", method = RequestMethod.POST)
public void addCustomer(
@RequestBody final CustomerV1 customerDto) throws Exception
{
//your code
}
在你的Github链接中,我发现你在spring-mvc-demo-servlet.xml文件中输入了以下内容,
另请查看文档:{{3}}
使用此功能,您无需将JSON显式配置为消耗。
<!-- Configure bean to convert JSON to POJO and vice versa -->
<beans:bean id="jsonMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter" />
<!-- Configure to plugin JSON as request and response in method handler -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="jsonMessageConverter"/>
</list>
</property>
</bean>
答案 1 :(得分:0)
在重度分析和大脑残骸之后,我能够弄清楚问题是什么..
如果任何人面临同样的问题,例如点击415错误......
首先检查其余请求的内容类型..它可能是问题的可能根本原因之一..请看下面关于内容类型的curl请求..
卷曲-v -H“接受:application / json”-H“Content-type:application / json”-X POST -d'{“name”:“anil”,“age”:2,“email” : “anilmar.pvv”, “密码”: “anilkumar”}“http://localhost:8080/MySpringMvc/customer/add
如果所有的内容类型都合适,那么您下载的Jackson-jars存在问题。我最好的建议是在您遇到问题之前删除所有已下载的jar并尝试保持不变通过Jars的版本..下面是我已经制定的版本和顺利执行所需的主要3个依赖项请确保您拥有相同版本的所有3个jar确保它们在类路径上..然后它应该工作正常..下面是我使用的依赖罐,并从迷宫问题中走出来。
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.8.5</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.5</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.8.5</version>