我在使用ResponseEntity时遇到一个获取值的问题。最简单地说,在进行API调用并使用
ResponseEntity<String> response = *api call*
String value = response.getBody();
我把它作为输出
{"value":123456}
但是,我希望字符串: value仅等于123456,而不是简单地强制它。你有什么建议吗?
发布于 2018-10-16 04:15:08
不要使用string作为ResponseEntity
对象的泛型。创建自己的对象,如下所示:
public class MyResponse {
private String value;
public String getValue () {
return this.value;
}
public void setValue (String value) {
this.value = value;
}
}
然后像这样使用这个对象:
ResponseEntity<MyResponse> response = *api call*
String value = response.getBody().getValue();
发布于 2018-10-16 00:19:06
这种行为是正常的,因为您的ResponeEntity包装了一个字符串。
您应该使用定义属性value
的类。
假设您有一个定义属性value
的类MyClass
(使用适当的getter),您所要做的就是按如下所示更改代码:
ResponseEntity<MyClass> response = *api call*
String value = response.getBody().getValue();
https://stackoverflow.com/questions/52820695
复制相似问题