我想知道如何呼叫外部 API 服務來獲取我的類映射的物件串列。
這就是 XML 的樣子
<ArrayOfObject>
<Object>
<id></id>
<name></name>
<var1></var1>
<var2></var2>
<var3></var3>
</Object>
<Object>
<id></id>
<name></name>
<var1></var1>
<var2></var2>
<var3></var3>
</Object>
...
</ArrayOfObject>
我試圖只獲取 id 和名稱,所以我試圖在我的班級中只映射這兩個欄位(甚至嘗試了所有這些欄位但沒有作業,沒想到):
public class Object{
public String id, name;
public Object() {}
public Object(String id, String name) {
this.id = id;
this.name= name;
}
public String getId() {return id;}
public void setId(String id) {
this.id = id;
}
public String getName() {return name;}
public void setName(String name) {
this.name = name;
}
并將其包裹成
public class ArrayOfObject {
private List<Object> objects;
public ArrayOfObject () {
object = new ArrayList<>();
}
public List<Object> getObjects() {return objects;}
public void setObjects(List<Object> objects) {
this.objects = objects;
}
}
所以現在這就是我的控制器的樣子
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
@RestController
@RequestMapping
public class RestCall {
@GetMapping("/objects")
public List<Object> getObject(){
final String uri = "";
RestTemplate rt = new RestTemplate();
ArrayOfObject result = rt.getForObject(uri, ArrayOfObject.class);
return result.getObjects();
}
}
到了測驗的時候,結果是:
org.springframework.web.client.UnknownContentTypeException: Could not extract response: no suitable HttpMessageConverter found for response type [class it.me.model.ArrayOfObject] and content type [text/xml;charset=utf-8]
我做錯了什么還是我錯過了什么?
轉移到一個新問題
uj5u.com熱心網友回復:
我想您正在使用 Jackson 進行(反)序列化...您是否添加了 jackson xml 模塊?
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
</dependency>
并將@JsonIgnoreProperties添加到您的 pojo 以忽略未映射的欄位
@JsonIgnoreProperties
public class Object{
對于反序列化串列嘗試...
@JacksonXmlElementWrapper(useWrapping = false)
private List<Object> object; // same name as in xml
https://www.baeldung.com/jackson-xml-serialization-and-deserialization
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/537336.html
標籤:爪哇春天弹簧靴休息
上一篇:GetAndroidConfig使用firebase管理服務C#.NET回傳Google.GoogleApiException:“parent”的引數驗證失敗
