在使用ResponseEntity时获取值存在问题。简单来说,在进行API调用并使用
之后ResponseEntity<String> response = *api call*
String value = response.getBody();
我得到了输出
{"value":123456}
但是,我希望使用字符串:value等于123456,而不必简单地将其强制执行。有关如何操作的任何想法?
答案 0 :(得分:2)
请勿将字符串用作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();
答案 1 :(得分:0)
由于您的ResponeEntity包装了String,因此该行为是正常的。
您应该使用定义属性value
的类。
假设您有一个MyClass
类,定义了属性value
(具有适当的getter),那么您要做的就是如下更改代码:
ResponseEntity<MyClass> response = *api call*
String value = response.getBody().getValue();