我是SoapUI的新手,我在其中运行了一个发布请求来创建用户。它返回成功代码201(与邮差相同),应该是,但它没有在响应窗口的JSON选项卡下显示任何数据。它应该显示一些数据,因为请求在Postman中以JSON格式返回数据。 邮递员的回复是:
{
"id": 107,
"creationTime": "2017-06-23T12:55:13.870+0000",
"lastUpdateTime": "2017-06-23T12:55:13.870+0000",
"username": "Testuserr",
"name": null,
"firstname": null,
"type": null,
"avatar": null,
"mobile": null,
"office": null,
"email": null,
"enabled": false,
"_links": {
"self": {
"href": "http://server/...../user/107"
},
"consultantUser": {
"href": "http://server/...../user/107"
},
"roles": {
"href": "http://server/...../user/107/roles"
},
"regularRole": {
"href": "http://server/...../user/107/regularRole"
},
"userSkills": {
"href": "http://server/...../user/107/userSkills"
},
"experiences": {
"href": "http://server/...../user/107/experiences"
},
"educations": {
"href": "http://server/...../user/107/educations"
},
"assignments": {
"href": "http://server/...../user/107/assignments"
},
"certificats": {
"href": "http://server/...../user/107/certificats"
},
"organisation": {
"href": "http://server/...../user/107/organisation"
},
"sections": {
"href": "http://server/...../user/107/sections"
}
}
}
SoapUI中没有显示任何内容。
但是,如果我第二次运行相同的请求,则显示
{
"cause": {
"cause": {
"cause": null,
"message": "Duplicate entry 'TestName20181' for key UK_r43af9ap4edm43mmtq01oddj6'"
},
"message": "could not execute statement"
}
与Postman相同,应该是。那么第一次出现问题是什么?
如果有任何事情请帮助我,我在执行期间失踪了......谢谢......
答案 0 :(得分:1)
我只是想出区别,201/200的content-type / media-type为空白,邮递员智能地将content-type / media-type识别为json并显示。
我刚刚走到开发人员办公桌以确认根本原因是否正确,是的,
对于400个(阴性测试): 在异常处理程序类中,它们返回的媒体类型为
HttpHeaders responseHeaders = new HttpHeaders();
responseHeaders.setContentType(MediaType.APPLICATION_JSON);
return new ResponseEntity(errors, responseHeaders, HttpStatus.BAD_REQUEST);
但对于201/200(阳性测试): 他们没有根据spring boot framework设置contentType,它的全局或默认设置。
解决方案#1:因此,DEV必须将SOAP UI的contentType显式设置为JSON才能显示json主体,以便我们可以在其中编写测试脚本,否则您只会在其中看到空响应SOAPUI虽然是200/201。
解决方案2::在您的SOAP UI请求中,在“标头”中添加一个参数,即Accept = application / json。这将在没有开发人员支持的情况下解决您的问题。