首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

springmvc控制器不能返回application/json,只能返回http 406

Spring MVC控制器可以返回application/json,而不仅限于返回HTTP 406错误。Spring MVC是一个基于Java的Web框架,用于构建Web应用程序。它提供了一种灵活的方式来处理HTTP请求和响应,并支持多种数据格式的处理,包括JSON。

要在Spring MVC控制器中返回application/json,可以使用@ResponseBody注解。这个注解告诉Spring MVC将方法的返回值转换为JSON格式,并将其作为HTTP响应的主体返回给客户端。

以下是一个示例代码:

代码语言:txt
复制
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class MyController {

    @RequestMapping("/data")
    @ResponseBody
    public MyData getData() {
        MyData data = new MyData();
        data.setName("John");
        data.setAge(25);
        return data;
    }
}

class MyData {
    private String name;
    private int age;

    // getters and setters
}

在上面的示例中,MyController类中的getData方法使用@ResponseBody注解,它将返回的MyData对象转换为JSON格式,并作为HTTP响应的主体返回给客户端。

关于Spring MVC的更多信息,您可以参考腾讯云的Spring Cloud产品,它是基于Spring Boot和Spring Cloud构建的云原生应用开发框架。您可以在以下链接中了解更多信息:

腾讯云Spring Cloud产品介绍:https://cloud.tencent.com/product/scf

希望这个答案对您有帮助!

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

SpringMVC配置Tomcat返回406问题探索

String没有问题,返回POJO与Map等页面报406错误 ApplicationAware类报NPE错误 其他与具体项目相关的错误 尝试过的解决办法: 2、3是首先解决的,因为是具体项目相关的东西...-- Json转换器配置 --> <bean id="mappingJackson2HttpMessageConverter" class="org.springframework.<em>http</em>.converter.<em>json</em>.MappingJackson2HttpMessageConverter...错误 3:自己琢磨可能是因为没有<em>application</em>/<em>json</em> 配置导致的?...,但是对问题的解决并没有帮助,于是<em>只能</em>debug代码,看spring对相应的类型是如何做转换的了 在controller方法<em>返回</em>后,spring会对请求与可提供的类型转换做匹配,代码如下: protected...-- <em>Json</em>转换器配置 --> <bean id="mappingJackson2HttpMessageConverter" class="org.springframework.<em>http</em>.converter.<em>json</em>.MappingJackson2HttpMessageConverter

1.1K30
  • post请求406,not acceptable问题

    最近在做一个项目,发现自己从ajax发送请求后返回json数据接收不到,后台没有报错,经测试ajax的seccess内代码没有走,打开浏览器控制台一看,报错post:406 not acceptable...那么返回的内容会经过视图解析器,加上标签后返回的数据会直接写入到输入流中,也就是直接写到http响应正文中。 2、没有导入json的jar包。没有json包自然不能转换成json数据,也自然接收不到。...PS:jackson有两个版本曾报过安全漏洞 3、springmvc配置文件中没有加。 4、spring的版本与json版本不兼容。.../json;charset=UTF-8 网上关于406的问题不少,但没有看到和我这个问题一样的,故在此记录一笔...同时,附上源码解析,一位博主写的,非常棒,传送门: https://www.cnblogs.com/fangjian0423/p/springMVC-xml-json-convert.html

    1.8K20

    SpringMVC 操作Ajax使用学习笔记整理;

    我们都知道: 以前浏览器发送请求——经过控制器——控制器经过一系列操作最后返回一个 视图给浏览器, 浏览器页面刷新展示~ 而 Ajax 最大的不同就是: 浏览器发送请求——经过控制器——控制器返回的不是视图...JSON传递中文乱码问题~ 在SpringMVC控制器,处理方法使用 @ResponseBody 注解向前台页面; 及JSON 格式进行数据传递的时候, 如果返回值是中文字符串, 则会出现乱码~...=UTF-8;") produces : 指定返回的内容类型. application/json;charset=UTF-8; 表示该方法将返回 JSON类型的数据; 且字符编码 UTF-8; 此时会根据请求的...406异常: 浏览器不接受所请求页面的MIME类型(一种媒体文件的类型eg: text/html application/json ); 主要可能是因为 value=”/xx.html“ 类似的请求,...数据传递日期格式问题: 在SpringMVC 中使用@ResponseBody 返回JSON 数据时,日期格式默认为时间戳; (个人一般实体类直接写String 不用Data 还不错~) (时间戳是指格林威治时间

    12510

    java406错误_Java项目部署遇到406错误

    1、406错误 发生406错误的原因是服务器传递回来的值客户端无法解析。...通过在谷歌浏览器的开发浏览器查看代码,发现RequestHeader的Accept格式为application/json格式,而服务器传回的报文中ResponseHeader的格式却为text/html...因此,我们需要将服务器的数据先转换成json,再将其以application/json的Content-type传回给客户端,需要导入jackson的jar包。...而对于添加了@ResponseBody注解的Controller方法(等价于@RestController),其返回值不作为视图资源定位的依据,而是通过一个转换器将返回对象转换成json格式传递给调用方...配置转换器的方式有两种:注解和非注解方式 application/json;charset=UTF-8 text/html;charset=UTF-8 注意:注解注入的转换器优先级要高于普通注入的json

    1.5K10

    SpringMVC基础配置

    中一些默认配置,ViewResolver是SpringMVC视图渲染的核心机制,SpringMVC框架中有一个ViewResolver接口,该接口有一个方法叫做resolveViewName,该方法返回一个...View对象,这个View的职责就是结合request、response对象,将渲染的视图返回给浏览器,渲染后的视图可以是HTML,也可以是json、xml、PDF等。...,在前面的文章中我们说过@Controller和@Service等可以混用,但是在使用SpringMVC时声明控制器Bean的时候,却只能够使用@Controller;然后利用@RequestMapping...如果是对象,比如我在客户端传递参数时可以传递http://localhost:8080/user/json?...5.如果想给服务端返回一个json字符串或者xml字符串,直接返回一个对象即可,至于这个对象最终会被转为json还是xml,我们可以通过produces = "application/json;charset

    1.1K70

    460道Java后端面试高频题答案版【模块十:SpringMVC

    将渲染结果返回给客户端。 3、SpringMVC 的核心组件有哪些? 1. 前端控制器 DispatcherServlet 作用:Spring MVC 的入口函数。...@RequestBody:注解实现接收 HTTP 请求的 json 数据,将 json 转换为 Java 对象; 3....但是不要使用同步,会影响性能,解决方案是在控制器里面不能写字段。 8、SpringMVC 怎么样设定重定向和转发的? 1....重定向:在返回值前面加 "redirect:",譬如: "redirect:http://www.zju.com" 9、SpringMVC 里面拦截器是怎么写的?...SpringMVC 是基于方法开发(一个 url 对应一个方法),请求参数传递到方法的形参,可以设计为单例或多例(建议单例),Struts2 是基于类开发,传递参数是通过类的属性,只能设计为多例; 3.

    94160

    Spring Web MVC 基础

    ,并返回处理结果(数据); 控制器根据返回的结果,调用相应的视图来渲染、格式化模型返回的数据; 视图响应给客户端浏览器。...作为开发人员,您不能覆盖这些方法来提供自己的行为。这不是随意进行的,而是要牢记这一原则。 Spring MVC运行原理 客户端发出HTTP请求,Web应用服务器接收此请求。...application/json application/json 这个 Content-Type 作为响应头大家肯定不陌生。...由于@RequestBody可用来处理 Content-Type 为 application/json 编码的内容,所以在postman中,选择body的类型为row -> JSON(application...重点补充:在使用注解@RequestParam的时候【不加注解的时候效果与@RequestParam类似】,在body data中我们不能json字符串类型的参数,否则对象中是接收不到传递参数相应的值

    48610

    SpringMVC入门

    (设置配置类,扫描controller包,加载Controller控制器bean) 多次工作 定义处理请求的控制器类 定义处理请求的控制器方法,并配置映射路径(@RequestMapping)与返回json...控制器方法形参定义前面 作用:将请求中请求体所包含的数据传递给请求参数,此注解一个处理器方法只能使用一次 @RequestBody与@RequestParam 区别: @RequestParam用于接收...url地址传参,表单传参【application/X-www-form-urlencoded】 @RequestBody用于接收json数据【application/json】 应用: 后期开发中,发送...控制器方法定义上方 作用:设置当前控制器方法响应内容为当前返回值,无需解析 类型转换的功能来自HttpMessageConverter接口 七、REST风格 1....名称:@RequestMapping 类型:方法注解 位置:SpringMVC控制器方法定义上方 作用:设置当前控制器方法请求访问路径 属性: value(默认):请求访问路径 method:http请求动作

    17910

    SpringMVC通过@ResponseBody响应浏览器数据

    简介在SpringMVC中,我们可以使用@ResponseBody注解来将方法返回值直接转换为HTTP响应体,并发送给浏览器。使用@ResponseBody可以简化代码,减少代码量,提高开发效率。...控制器中有一个getUser方法,用于返回指定id的用户信息。getUser方法使用了@GetMapping注解,表示使用GET方法访问/users/{id}路径时会调用该方法。...getUser方法中使用了@ResponseBody注解,表示返回值会被直接转换为HTTP响应体,并发送给浏览器。...需要注意的是,在使用@ResponseBody注解时,SpringMVC会根据请求头中的Accept字段来判断返回的数据类型。...如果请求头中的Accept字段为application/json,则返回值会被转换成JSON格式的字符串,并设置响应头Content-Type为application/json;charset=UTF-

    18530

    SpringMVC详解(二)------详细架构

    本篇博客源码下载链接:http://pan.baidu.com/s/1boOfxlP 密码:bxq4 1、SpringMVC 详细介绍   通过入门实例,我们大概知道 SpringMVC 的作用,那么它到底是什么呢...执行完成后给适配器返回 ModelAndView 第七步:处理器适配器向前端控制器返回 ModelAndView     ModelAndView 是SpringMVC 框架的一个底层对象,包括 Model...第九步:试图解析器向前端控制器返回 view 第十步:前端控制器进行视图渲染     就是将模型数据(在 ModelAndView 对象中)填充到 request 域 第十一步:前端控制器向用户响应结果...,我们可以通过 response 修改相应内容,比如返回 json 数据。...response.setCharacterEncoding("utf-8"); response.setContentType("application/json;charset=utf-8"); response.getWriter

    90570

    SpringBoot中的内容协商,颠覆你的认知

    ### GET http://localhost:8080/chat22/cn/test1 Accept: application/json 这两次请求唯一不同的地方就是第二次多了Accept: application..., application/json;q=0.8, application/*+xml;charset=UTF-8;q=0.8, application/*+json;q=0.8 然后取第一个作为最终返回的类型...(2)案例 比如要求接口只能返回 json 格式的数据,那么可以这么写 @RequestMapping(value = "/cn/test1", produces = {"application/json...json 格式数据 测试场景 2:头 Accept 指定为 applicaiton/xml,出现了 406,服务器端无法处理,那是因为客户单希望服务器端返回application/xml格式数据,而服务器端接口只能返回...Aceept 传递的是 application/json,表示客户端希望返回 json 格式的数据,那么返回但就是 json 格式的数据。 这个代码带来了一个问题:这段代码能够响应的媒体类型有哪些呢?

    1.2K41

    SSM学习笔记之SpringMVC

    /json", data: JSON.stringify(obj), //data的值为json格式字符串, contentType:"application/json"...4.5.1 控制器响应同步请求 同步请求: from,超链接  处理同步请求的方法返回类型定义为String或者ModelAndView,以实现页面的跳转 返回类型为String 转发 @RequestMapping...异步请求:ajax请求 使用response中的输出流进行响应 /** 控制器方法的返回类型为void 控制器方法添加HttpServletResponse response 参数 在方法中通过...} catch (Exception e) { e.printStackTrace(); } } 直接在控制器方法返回相应的对象 控制器方法的返回类型设置为响应给ajax...请求的对象类型 在控制器方法前添加一个@ResponseBody注解,将返回的对象转换成json格式返回给ajax请求 如果一个控制器类中的所有方法都是响应ajax请求,则可以直接在控制器类前添加@ResponseBody

    8.1K20

    Spring MVC 学习总结(二)——控制器定义与@RequestMapping详解

    ://localhost:8087/SpringMVC02/,同时省去了控制器名与Action名称,可用于欢迎页。...指定处理请求的提交内容类型(Content-Type),例如application/json, text/html,收窄请求范围,如果用户发送的请求内容类型不匹配则方法不会响应请求,具体使用如下代码所示...406错误,常用设置如下: produces = "text/plain"  //客户端只接收纯文本 produces = {"text/plain", "application/*"}   //客户端接收纯文本与...application/*类型的内容 produces = "application/json; charset=UTF-8"  //客户端接收json且编码为utf-8 //客户端接收json...且编码为utf-8,多数浏览器Accept设置的为*/*,接收任意类型 @RequestMapping(value = "/action9",produces="application/json

    90920

    SpringMVC01之入门

    ) 注1:修改application-mybatis的扫描配置 注2:修改spring-mvc.xml的扫描配置 作用:放置重复扫描装配         5.2.2 修改web.xml配置SpringMVC...的核心控制器DispatcherServlet       5.3 第一个springMVC程序:HelloWorld 6....访问其它的静态资源(被springmvc拦截了) 附录一:在请求处理方法中添加@ResponseBody注解,将返回结果直接转换成JSON 附录二:解决JSON死循环问题 附录四:转换时指定属性名 人生的不如意...的核心控制器DispatcherServlet  1) Spring与Web集成配置     2) 中文乱码过滤器     3) 配置SpringMVC核心控制器DispatcherServlet...格式) 注1:使用@RequestBody注解的时候,前台的Content-Type必须要改为application/json,            如果没有更改,前台会报错415(Unsupported

    1.2K20
    领券