我正在学习“放心框架”。
我使用http://ziptasticapi.com免费的API为我的演习。
当我打电话:
final static String BASE_URI = "http://ziptasticapi.com/";
final static String ADAK_ZIP_CODE = "99546"; //{"country":"US","state":"AK","city":"ADAK"}
final static String ATKA_ZIP_CODE = "99547";
public static final String GET_METHOD = "GET";
RestAssured.baseURI = BASE_URI;
String responseString = when().get(ADAK_ZIP_CODE).then()
.statusCode(200)
.and()
.extract()
.asString();
System.out.println(responseString);
我得到以下字符串:
{“国家”:“美国”、“州”:“正义与发展党”、“城市”:“阿达克”}
as响应字符串值。
当我尝试时:
RestAssured.baseURI = BASE_URI;
ZipData zipdata = when().get(ADAK_ZIP_CODE).then()
.statusCode(200)
.and()
.extract()
.as(ZipData.class);
public class ZipData {
public String country;
public String state;
public String city;
}
我突然想到:
JAVAlang.IllegalStateException:无法分析对象,因为响应中未指定支持的内容类型。内容类型为“文本/html”;字符集=UTF-8'。
为什么会这样?会不会是其他人返回的是Html而不是Json?我该如何处理这个问题?
谢谢!
首先,请记住,REST Assured是一个主要用于测试HTTP API的HTTP客户机。所以,让我强调一下,除了测试之外,你不应该使用REST Assured。
看起来您试图使用的endpoint在响应负载中返回了一个JSON文档,但是内容类型
头的值是text/html;charset=UTF-8
,因此请放心,我们无法将响应解析为JSON文档,并将其转换为ZipData
的实例。这并不是你对一个健全的HTTP API的期望。
您可以绕过它,编写一个过滤器来覆盖内容类型
标题,如下所示:
public class OverrideContentTypeFilter implements Filter {
@Override
public Response filter(FilterableRequestSpecification requestSpec,
FilterableResponseSpecification responseSpec,
FilterContext ctx) {
Response next = ctx.next(requestSpec, responseSpec);
return new ResponseBuilder().clone(next).setContentType(ContentType.JSON).build();
}
}
然后按如下方式使用:
ZipData zipdata =
given()
.filter(new OverrideContentTypeFilter())
.when()
.get(uri)
.then()
.statusCode(200)
.extract()
.as(ZipData.class);
我编写了这段代码,将整个以10为基数的数字转换成二进制。我相信代码就是它所需要的一切,但我无法让工作。 我在这个网站和其他网站上花了几个小时,尝试了无数次的修改,但都没有用。 我已经让代码无错误地编译,但一旦我运行它并输入程序就会崩溃。 下面是代码: 这些是java在我输入数字时抛出的异常。 我希望这是足够的信息。
问题内容: public class Category { 在正在生成。 问题答案: 当您执行时,您称呼孩子们的。这里没有问题,只不过您在这里调用了父对象。这将称呼孩子,等等。 不错的无限循环。 摆脱它的最好方法是将您的方法更改为: 这样,您将不打印parentCategory,而仅显示其名称,不显示无限循环,不显示StackOverflowError。 编辑: 正如博洛在下面说的那样,您将需要检
请问为什么第13行的错误是未报告的异常,必须捕获pr声明要抛出
问题内容: 我刚刚尝试了Jasper Report,我正在关注此站点的教程 我也下载了示例源,然后运行它,没有错误。但是,当我使用创建自己的报告时,请对其进行编译,然后将文件添加到我的项目中。还有,当我运行我的程序: 这是我用于显示报告的按钮操作(这只是示例,报告仅包含一个带有参数的文本:outputText): 如果有问题,我已经将所有需要的jar导入到我的项目中,当我使用该教程中的文件时没有问
问题内容: 我已经在“ userInfo”类中实现了Serializable。我仍然感到异常。这是输出控制台- 这是我的两节课: 问题答案: 为什么我实现了’Serializable’却得到NotSerializableException异常 你还没有 java.io.NotSerializableException:chatservernazmus.User公共类userInfo实现了Seria
我是新手,但我正在编写一个应用程序,我不断收到这个错误,导致应用程序在启动时崩溃。 导致它的代码在下面的类中,在问题的行旁边会有一个这里的注释。 这就是我调用方法的代码。 这是堆栈跟踪。 谢谢你的帮助。