与第三方对接web service的坑

现象1:对方已经访问了我们的web service,也有正常返回(通过微软的network monitor抓包),但是对方就是解析不到数据

原因:我们返回的HTTP头里是200,而不是200 OK,对方是按照后者判断的。进一步研究,最终在stackoverflow上发现,这是tomcat版本的问题,8.5版本只会返回200

解决方法:更换tomcat版本http://docs.spring.io/spring-boot/docs/1.5.3.RELEASE/reference/htmlsingle/#howto-use-tomcat-7


现象2:也是不解析数据

原因:这次是因为HTTP头里没有content-length(chunked编码),对方不支持

解决方法:在spring boot里返回类型参数为String的ResponseEntity。另外在@RequestMapping里加上produces="application/json;charset=UTF-8",否则content-type会是text/plain

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章