首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MockServer:解析JSON时的IllegalArgumentException

MockServer:解析JSON时的IllegalArgumentException
EN

Stack Overflow用户
提问于 2018-03-15 11:57:59
回答 2查看 1K关注 0票数 5

当我试图用MockServer模拟外部HTTP时,mockserver返回java.lang.IllegalArgumentException

这是测试代码:

代码语言:javascript
复制
new MockServerClient("localhost", 1080)
    .when(request("/messages")
    .withMethod("POST")
    .withQueryStringParameters(
        param("subject", "integration-test-subject")
    )
).respond(response().withStatusCode(200));

这是一个例外:

代码语言:javascript
复制
java.lang.IllegalArgumentException: Exception while parsing 
[  
   {  
      "httpRequest":{  
         "method":"POST",
         "path":"/messages",
         "queryStringParameters":{  
            "subject":[  
               "integration-test-subject"
            ]
         }
      },
      "httpResponse":{  
         "statusCode":200
      },
      "times":{  
         "remainingTimes":0,
         "unlimited":true
      },
      "timeToLive":{  
         "unlimited":true
      }
   }
] for Expectation

这是杰克逊的例外:

代码语言:javascript
复制
com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.lang.String` out of FIELD_NAME token
at
[  
   Source:(String)"   {  
      "httpRequest":{  
         "method":"POST",
         "path":"/messages",
         "queryStringParameters":{  
            "subject":[  
               "integration-test-subject"
            ]
         }
      },
      "httpResponse":{  
         "statusCode":200
      },
      "times":{  
         "remainingTimes":0,
         "unlimited":true
      },
      "timeToLive":{  
         "unlimited":true
      }
   }

我试着用body发送application/x-www-form-urlencoded请求

代码语言:javascript
复制
subject:integration-test-subject

.withQueryStringParameters(param("subject", "integration-test-subject"))不在测试中时,它就正常了。

怎么解决这个问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-02 10:49:38

解决此问题的方法是将以下内容添加到项目中:

代码语言:javascript
复制
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.9.3</version>
    </dependency>

我的项目与Spring 2这个解决方案工作得很好。

票数 1
EN

Stack Overflow用户

发布于 2018-08-14 13:44:31

这是GitHub中的一个问题,并给出了解释

https://github.com/jamesdbloom/mockserver/issues/451

您只需更新到5.4.1

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49298899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档