406 Not Acceptable

406 Not Acceptable:字面的意思你返回的内容是不可接受的

1.一开始认为是jackson 的问题 ,但是换了jar也是一样:


 


各种版本的jar 都有;你怎么能说没有用呢:

2.然后呢 配置网上说配置少了了:


3.这不是有吗; 还说什么少了 jackson 的配置那么在加上:

   

也加上了  但还是解决不了我的问题,别说什么4.0和4.1spring的区别

4.然后在controller层添加:

response.setContentType("text/javascript;charset=UTF-8");
response.setHeader("Cache-Control", "no-store, max-age=0, no-cache, must-revalidate");
response.addHeader("Cache-Control", "post-check=0, pre-check=0");
response.setHeader("Pragma", "no-cache");
     

但还是没有什么用:不过我猜想以流的形式写过去应该没有问题  你们有兴趣试一下.不想试 在用Spring 以流的形式传输,不是贬低Spring吗:

5.@RequestMapping(value = "/test1",produces=MediaType.APPLICATION_JSON_UTF8_VALUE) 这也不行

  以上百度都不能解决问题只能靠自己了... 既然什么都没有问题,那问题出现在哪里! 看图:


看到没有 写再多的配置依旧 响应的 text/html  返回的json是不能解析成html的吧; 

 说明jackson 没有启用:一句话配置第二个 相当于配置了jackson 但是都是默认配置吧 好吧  看一下


 第一个 request 内容格式的识别 ;第二 ,格式转换 ;第三第四 i dont know; 第五第六:验证的了

就第一的符合是吧: 是就下一步看说明作用

The bean name of a ContentNegotiationManager that is to be used to determine requested 
 media types. If not specified, a default ContentNegotiationManager is configured that checks 
 the request path extension first and the "Accept" header second where path extensions such 
 as ".json", ".xml", ".atom", and ".rss" are recognized if Jackson, JAXB2, or the Rome libraries 
 are available. As a fallback option, the path extension is also used to perform a lookup 
 through the ServletContext and the Java Activation Framework (if available).

大概的意思就通过request 路径和 Accept header 来判断使用 jackson 或者...但是 需用的格式 .json .xml... 但是必须有jackson jar (有效)

我们请的html 那么交不到jackson 哪里 :把web.xml 请求路径个一下改成*.json 或者以上说明的都可以 当然还是 / 这个好用


  

以上 3,4,5配置都注释掉:成功了;

如果你不想改请求路径的话 ,可以从从默认配置入手了或者添加多个映射路径:

 

这是最简单的配置,如果想使用识别更多请更改:




ps:不想做码农,只能好好思考

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值