application/json;charset=utf-8 控制器怎么接口

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了application/json;charset=utf-8 控制器怎么接口相关的知识,希望对你有一定的参考价值。

一、从菜单栏中选择“工具”“导入web服务”。

二、在弹出的对话框中,输入对方提供的WSDL地址。

三、在“选择要导入的方法”页面上,根据需要选择相应的方法,然后单击“下一步”。

四、生成的库可以直接在选项板中拖放。

五、Webservice接口一般是使用json格式的数据,所以需要把labview数据与json数据的互转。

参考技术A

1、菜单栏选择工具—导入—Web服务。

2、在弹出的对话框中,输入对方提供的WSDL地址。

3、在 选择要导入的方法 这一页,按照需要选择对应的方法,点击下一步。

4、生成的库,这样就可以在选板中直接拖放使用。

5、Webservice接口一般是使用json格式的数据,因此需要把labview数据与json数据的互转。

参考技术B 这里决定了你后台servlet的http服务返回到前台的数据类型。设置成json前台返回的数据就是以json格式传输的 参考技术C 在web程序开发中,前端和服务器数据的传输方式常用的有两种,一种是以表单的形式提交,此时可以利用jquery的serialize()方法将表单内容转为a=1&b=2&c=3&d=4&e=5这样的格式传输过去,接收端则可以用javabean直接接收。
还有一种方式是以json格式传输,接收时若直接用bean接收则接收不到,此时应该用@RequestBody方式,需要注意的是接收的需要是json串,而不是json对象,可以在发送前使用JSON.stringify函数进行处理。
例子如下
客户端:
var url=path+'testConverter.html';
$.ajax(
url : url,
type : "POST",
dataType:"json",
contentType:'application/json;charset=UTF-8',
data:JSON.stringify(userId:'1',userName:'hello',password:'test',credits:'2',lastIp:'',lastVisit:'1986-05-27'),
success : function(data)
alert(data.userName);

,
error:function(e)
alert("err");


服务端:
@RequestMapping(value="/testConverter.html")
@ResponseBody
public User testConverter(@RequestBody User user)

System.out.println(user.getUserName());
user.setUserName("testname");
return user;


上面例子中服务端返回的是个对象,@ResponseBody函数会自动将其转换为客户端要求的‘ dataType:"json",’格式。

最后需要注意的是
1,在xxx-serverlet配置文件中应该写上,以便可以使用 @ResponseBody和@RequestBody
2,发送时要写上 contentType:'application/json'
3,数组内容要用[]而不是list,用list会接收到一个map对象,而不是bean。本回答被提问者采纳

org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/json;chars

很久没从头到尾搭框架,今天搭的过程中,springmvc controller方法入参用@RequestBody自动绑定参数时一直提示各种 not supported

排查问题有两个解决路径:

1)使用post协议提交时,请检查Content type类型,如: 

$.ajax({
    type: "POST",
    contentType: "application/json;charset=UTF-8",
    url: "/reg",
    data: JSON.stringify(data.field),
    dataType: ‘json‘,
    success: function(result) {
        if(result.code == 0) {
            layer.msg(‘注册成功!‘);
        } else {
            layer.msg(result.msg);
        }
    }
});

  请检查上方contentType类型,如果想用springmvc @RequestBody注解做提交json字符串自动绑定到pojo入参时,类型需要是"application/json;charset=UTF-8",否则会抛"not supported"异常。

2)缺少jackson-databind jar包

  这个好办,把maven或gradle的坐标加上就好,如下:

  maven:

    

<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.8.8.1</version>
</dependency>

  gradle:

    

compile group: ‘com.fasterxml.jackson.core‘, name: ‘jackson-databind‘, version: ‘2.8.8.1‘

 

然后controller直接这么用就好了:

  

@RequestMapping(value = "/reg", method = RequestMethod.POST)
    @ResponseBody
    public ResponseVo reg(@RequestBody user u) throws Exception {
       //其他crud逻辑
    }

 





以上是关于application/json;charset=utf-8 控制器怎么接口的主要内容,如果未能解决你的问题,请参考以下文章

org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/json;chars

org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/json;chars

接收 Content-type: application/json 的数据

content-type application/json 请求 服务端怎么获取请求数据

spring security 不支持application/json 解决办法

application/json;charset=utf-8 控制器怎么接口