Rest 弹簧支承形式数据输入法
我在下面给出了我的spring控制器和.xml文件congif信息Rest 弹簧支承形式数据输入法,rest,spring-mvc,Rest,Spring Mvc,我在下面给出了我的spring控制器和.xml文件congif信息 class TestingController { @RequestMapping(value="/addinfo",method=RequestMethod.PUT) public void addInfo(@RequestBody Userinfo user){ } 上下文 <mvc:annotation-driven/> <bean id="contentNegotiationMana
class TestingController
{
@RequestMapping(value="/addinfo",method=RequestMethod.PUT)
public void addInfo(@RequestBody Userinfo user){
}
上下文
<mvc:annotation-driven/>
<bean id="contentNegotiationManager" class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="ignoreAcceptHeader" value="true"/>
<property name="mediaTypes">
<map>
<entry key="json" value="application/json" />
<entry key="xml" value="application/xml" />
</map>
</property>
这很好,因为我希望使用REST客户端处理JSON和XML请求。
例如:{“user”:“test”,“cval”:“12”,“mval”:“12}JSON工作正常
当我尝试在请求正文中使用REST客户机传递user=test&cval=12&mval=12等数据时,标题为“Content-Type:application/x-www-form-urlencoded”
我收到415个错误消息
我的要求是
SpringRESTFullWebService需要处理以下内容类型
1.application/json
2.1应用程序/xml
3.application/x-www-form-urlencoded
问候
Vasanth D您不能将
@RequestBody
与应用程序/x-www-form-urlencoded
一起使用。而是使用modeldattribute
。您可以声明具有不同@RequestMapping
限制的多个方法。感谢您提供的信息。请共享一些示例代码。因此,我需要在控制器中使用两种方法来处理差异其他类型的内容类型?请澄清。提前谢谢。是的,使用@RequestMapping
注释中的消耗
属性。或者,您可以编写并注册自己的HttpMessageConverter
并继续使用@RequestBody
。因此,我的xxx.spring.xml文件包含org.springframework.w(application/json)json和(application/xml)xml的eb.servlet.view.contentnegotingviewresolver以及表单数据“application/x-www-form-urlencoded”的HttpMessageConverter是否正确?