最开始我用springMvc做接口,前端可以通过post一个json格式的字符串,到后端就自动拼装成我想要的java对象了,需要设置一个转换器:
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" /> <st> </property> </bean>
这样就可以通过js来传json数据:
function addUser(){ var jsondata = {"username":"hahaha","password":"fsd"}; $.ajax({ type:"POST", url:"/lotteryproject/services/rest/sample/hahaha", dataType:"json", contentType:"application/json", data:jsondata, success:function(data){ alert("添加用户成功!"); } });
然后请求也能正确返回一个json对象,测试正常
然后我换了spring+cxf的方式来开发restful接口,接口的定义如下:
@POST @Path("/hahaha") @Produces("application/json") public User regedit(User ut);
我通过设置jsonProvider使其能够在response的时候返回一个json格式的数据且测试成功:
<bean id="jsonProvider" class="org.codehaus.jackson.jaxrs.JacksonJsonProvider"> </bean> <jaxrs:providers> <ref bean="jsonProvider"/> </jaxrs:providers>
但是在请求的时候,我怎么才能传一个json字符串 然后自动转换为User类型??
搞定了
换个provider就行了
<jaxrs:providers> <bean class="com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider"/> </jaxrs:providers>包在这里,缺哪个下哪个(好像有些LOW) http://repo1.maven.org/maven2/com/fasterxml/jackson/
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。