小编cha*_*lvi的帖子

缺少必需的请求正文内容:org.springframework.web.method.HandlerMethod $ HandlerMethodParameter

将JSON数据从JSP传递到ResponseBody中的控制器时出错.

07:13:53.919 DEBUG o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolving exception from handler [public com.chaitanya.ajax.AjaxResponse com.chaitanya.web.controller.DepartmentController.addDepartment(com.chaitanya.ajax.AjaxResponse)]: 

org.springframework.http.converter.HttpMessageNotReadableException: Required request body content is missing: org.springframework.web.method.HandlerMethod$HandlerMethodParameter@98d8d36c
07:13:54.106 DEBUG o.s.w.s.m.a.ResponseStatusExceptionResolver - Resolving exception from handler [public com.chaitanya.ajax.AjaxResponse com.chaitanya.web.controller.DepartmentController.addDepartment(com.chaitanya.ajax.AjaxResponse)]: org.springframework.http.converter.HttpMessageNotReadableException: Required request body content is missing: org.springframework.web.method.HandlerMethod$HandlerMethodParameter@98d8d36c
07:13:54.125 DEBUG o.s.w.s.m.s.DefaultHandlerExceptionResolver - Resolving exception from handler [public com.chaitanya.ajax.AjaxResponse com.chaitanya.web.controller.DepartmentController.addDepartment(com.chaitanya.ajax.AjaxResponse)]: org.springframework.http.converter.HttpMessageNotReadableException: Required request body content is missing: org.springframework.web.method.HandlerMethod$HandlerMethodParameter@98d8d36c
07:1
Run Code Online (Sandbox Code Playgroud)

Ajax调用:

$.ajax({ 
                        url: "/BusinessReimbursment/addDepartment", 
                        method: 'POST', 
                        dataType: 'json', 
                        data: "{\"message\":\"abc\",\"success\":true}",
                        contentType: 'application/json',
                        mimeType: 'application/json',
                        success: function(data) { 
                            alert(data.id + " " …
Run Code Online (Sandbox Code Playgroud)

java ajax json jackson spring-4

20
推荐指数
4
解决办法
10万
查看次数

双引号被替换为 "

我的 JavaScript 变量包含一个字符串:

{"start":{"lat":19.0759842,"lng":72.87765630000001},"end":{"lat":18.5206624,"lng":73.8567415},"waypoints":[[18.8753235,73.52948409999999]]}
Run Code Online (Sandbox Code Playgroud)

但是当我将它显示到 HTML 组件中时,它看起来像:

{"start":{"lat":19.0759842,"lng":72.87765630000001},"end":{"lat":18.5206624,"lng":73.8567415},"waypoints":[[18.8753235,73.52948409999999]]}
Run Code Online (Sandbox Code Playgroud)

html javascript jquery

4
推荐指数
1
解决办法
9971
查看次数

feign.RetryableException:读取超时,执行GET

我的项目中有以下建筑在此处输入图片说明

我的UI服务(端口8080)对网关服务(端口8085)进行虚假调用。
我从UI服务获得的呼叫是“ http:// localhost:8080 / invoice-list?startDate = 2018-08-05&endDate = 2018-10-05
来自网关服务的类似呼叫“ http:// localhost:8085 / invoice-下载服务/发票清单?startDate = 2018-08-05&endDate = 2018-10-05

当我通过UI服务进行此GET调用时,我在一分钟内收到以下错误消息

 is feign.RetryableException: Read timed out executing GET http://localhost:8085/invoice-download-service/invoice-list?startDate=2018-08-05&endDate=2018-10-05] with root cause

java.net.SocketTimeoutException: Read timed out
Run Code Online (Sandbox Code Playgroud)

但是,当我从网关服务器直接拨打微服务时,我没有收到错误。

网关服务的Application.properties文件

hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=160000000

ribbon.OkToRetryOnAllOperations=true
ribbon.ReadTimeout=5000000
ribbon.ConnectTimeout=5000000
ribbon.MaxAutoRetries=3
ribbon.MaxAutoRetriesNextServer=3


zuul.host.socket-timeout-millis= 5000000
zuul.host.connect-timeout-millis= 5000000
Run Code Online (Sandbox Code Playgroud)

在这里,我在8到10分钟左右设置了readtimeout和connecttimeout属性,因此我没有收到错误。

UI服务的Application.properties文件

spring.application.name=external-ui-service

server.port=8080
Run Code Online (Sandbox Code Playgroud)

在UI服务中,这里没有超时属性。我在这里尝试了上面的属性,但是没有用。显然,此UI服务未使用功能区,zuul等。这只是对网关的虚假调用。

那么我该怎么做才能增加UI服务的超时时间呢?

connection-timeout spring-boot microservices spring-cloud-feign

2
推荐指数
1
解决办法
5702
查看次数