UnsupportedOperationException:无效的内容类型 application/json
UnsupportedOperationException: Invalid content type application/json
其余的api我正在自动化,放心。
当我通过 REST 客户端测试相同的 api 时,我没有遇到任何问题,但是当我通过 Rest Assured
进行自动化时,我遇到了无效的内容类型错误。
我的休息api如下:
Response res = given()
.relaxedHTTPSValidation()
.body(model)
.with()
.contentType("application/json")
.then()
.post(ConfigReader.get("asset.temperature.push.url"));
return res.body().asString();
错误是:
{"message":"Execution exception[[UnsupportedOperationException: Invalid content type. Content-Type should be application/json or text/json, receivedapplication/json; charset=UTF-8]]"}
如何解决这个问题
这是问题所在,因为内部应用程序,它直接将内容类型验证为 "application/json; charset=utf-8"
导致了问题。
默认情况下,rest-assured 将发送默认字符集 UTF-8
,但作为应用程序验证 utf-8
,它导致了问题。
无论如何都提出了针对应用程序的问题来解决这个问题。
其余的api我正在自动化,放心。
当我通过 REST 客户端测试相同的 api 时,我没有遇到任何问题,但是当我通过 Rest Assured
进行自动化时,我遇到了无效的内容类型错误。
我的休息api如下:
Response res = given()
.relaxedHTTPSValidation()
.body(model)
.with()
.contentType("application/json")
.then()
.post(ConfigReader.get("asset.temperature.push.url"));
return res.body().asString();
错误是:
{"message":"Execution exception[[UnsupportedOperationException: Invalid content type. Content-Type should be application/json or text/json, receivedapplication/json; charset=UTF-8]]"}
如何解决这个问题
这是问题所在,因为内部应用程序,它直接将内容类型验证为 "application/json; charset=utf-8"
导致了问题。
默认情况下,rest-assured 将发送默认字符集 UTF-8
,但作为应用程序验证 utf-8
,它导致了问题。
无论如何都提出了针对应用程序的问题来解决这个问题。