当前位置: 首页 > 知识库问答 >
问题:

Restassured测试错误-响应中没有指定内容类型

湛安宁
2023-03-14

我尝试用RESTAssured测试我的restendpoint。响应总是一个html文档,但是我将accept-header设置为“application/json”。

*java.lang.IllegalStateException:无法解析对象,因为响应中没有指定支持的内容类型。内容类型是'text/html;charset=utf-8'。

[main]调试org.apache.http.wire-<<“HTTP状态400[0xE2][0x80][0x93]错误请求*

编辑:在邮递员中,它与同样的请求一起工作。

myClass result = given()
                    .contentType("application/json")
                    .accept("application/json")
                    .header("sessionid", sessionId)
                    .body(myBody)
                    .when()
                    .post(getInternalEndpoint() + "/rest/v1/myEndpoint").as(myClass.class);

共有1个答案

董康平
2023-03-14

我想你可能没有正确地发送请求。我使用Rest Assured用Java编写了以下内容:

RequestSpecification httprequest = RestAssured.given();
//request Payload
JSONObject js =new JSONObject();
js.put("name","xyz");

//Add a header stating that request body is a JSON
httprequest.header("Content-Type","application/json");
httprequest.body(js.toJSONString());
httprequest.header("Authorization","Bearer yourAPIKEy");
httprequest.log().all();

//Response
Response response = httprequest.request(Method.POST,"/rest/v1/myEndpoint");
String responseBody = response.asString();

//JsonPath to read response body
JsonPath json=response.jsonPath();
String statusCode = json.get("statusCode)).toString();
System.out.println(statusCode);
 类似资料:
  • 我预计服务器上会出现此请求的错误,然后将其作为字符串与预期响应进行比较。 问题是,在执行此命令时,RestAsure会给我一个错误:java.lang.IllegalStateExcture:无法解析对象,因为响应中没有指定支持的Content-Type。Content-Type为text/html; charset=ISO-8859-1。 我已经在设置中添加了解码器,但没有帮助。 错误情况下服务

  • 几周以来,我一直在使用Spring-MVC开发一个rest api。REST-API工作正常,我几乎完成了最后一个问题,当涉及到对特定错误对象的错误处理时。 REST-API使用JSON作为序列化Java-Objects的格式。当服务执行过程中发生错误时,将创建一个特定的错误对象并将其发送回客户机。 当我的REST服务被标记为“produces=application/json”时,一切都很好。但

  • 我正在向另一个服务发送GET请求,该服务以以下格式返回: 我以这种方式使用响应实体: 然而,当发送GET请求时,我得到了这个响应:类型定义错误:[简单类型,类com.tdl.model.ArrayResponsePojo];嵌套异常是com.tdl.model.ArrayResponsePojo 我不知道为什么我会得到这个解释,因为我确实有构造器。这是我的pojo类: 和我的用户类: 我尝试了没有

  • 问题内容: 我在Flask视图中遇到问题,该视图应返回内容类型为“ application / json”的响应以响应POST请求。具体来说,如果我这样做: 对此视图: 我得到某种连接重置: 如果相反,我这样做: 至: 我得到了预期的全面答复(200 ok) 顺便说一句,如果我将GET请求发送到同一JSON路由: 我也得到了预期的答复。 问题答案: 感谢Audrius的评论,我找到了uWSGI和n

  • 我试图得到下面给出的带有SpringRest模板的响应实体。我得到了下面的错误, 代码: 我在这篇文章中尝试将媒体类型设置为Application/json。但还是一样的错误。 完整跟踪:

  • 我试图在Android Studio中的一个Android项目中运行单元测试。我已经学习了这个教程,它看起来非常简单。我有一份Android的清单。xml声明为 标签不在活动中,但在 当我去运行测试时,我得到了错误 测试运行失败:找不到的检测信息:ComponentInfo{com.example/android.Test.InstrumentationTestRunner} 而且没有发现任何测试