CXF--處理複雜型別
把不能支援的型別轉化為能支援
1 將Map型別的資料轉為能支援的型別。
服務端:
@WebService
public interface HelloService {
@XmlJavaTypeAdapter(MapAdapter.class)
public Map<Integer, List<User>> getMap();
}
@WebService
public class HelloServiceImpl implements HelloService{
//測試返回Map
public Map<Integer,List<User>> getMap(){
Map<Integer,List<User>> map=new HashMap<Integer,List<User>>();
List<User> lstUser=new ArrayList<User>();
lstUser.add(new User(1, "1", "1"));
lstUser.add(new User(2, "2", "2"));
map.put(1, lstUser);
return map;
}
}
介面卡:
/**
* 適配中心
* @author Tang
*
*/
public class MapAdapter extends XmlAdapter<MyUser[], Map<Integer, List<User>>>{
/**
* 適配轉換MyUser[] v-》 Map<Integer, List<User>>
*/
@Override
public Map<Integer, List<User>> unmarshal(MyUser[] v) throws Exception {
Map<Integer, List<User>> map=new HashMap<Integer,List<User>>();
for(int i=0;i<v.length;i++){
MyUser u=v[i];
map.put(u.getKey(), u.getValue());
}
return map;
}
/**
* Map<Integer, List<User>> -> MyUser[]
*/
@Override
public MyUser[] marshal(Map<Integer, List<User>> v) throws Exception {
MyUser[] mapUser=new MyUser[v.size()];
int i=0;
for(Integer key:v.keySet()){
mapUser[i]=new MyUser();
mapUser[i].setKey(key);
mapUser[i].setValue(v.get(key));
i++;
}
return mapUser;
}
}
重新生成客戶端的程式碼後執行:
相關文章
- UITableView複雜介面處理UIView
- Flink - CEP(複雜事件處理)事件
- 簡單型別與複雜型別及原型鏈型別原型
- javascript複雜型別如何傳參JavaScript型別
- vue開發黑科技--利用引用型別的值處理複雜資料的編輯Vue型別
- AsyncTask 處理複雜多個任務。
- hive複雜資料型別的用法Hive資料型別
- Java複雜資料型別用法 (轉)Java資料型別
- RestTemplate處理巢狀的複雜返回物件REST巢狀物件
- Apache Flink複雜事件處理指南 - softwaremillApache事件REM
- 巧用狀態值處理複雜的 TableViewView
- Oracle動態SQL引數支援複雜型別OracleSQL型別
- 【譯】如何合理地處理複雜TableView頁面View
- 處理 JavaScript 複雜物件:深拷貝、Immutable & ImmerJavaScript物件
- 程式錯誤型別及其處理型別
- Redis基礎、常用型別介紹、時間複雜度Redis型別時間複雜度
- TypeScript魔法堂:函式型別宣告其實很複雜TypeScript函式型別
- Laravel 處理 MySQL geometry 空間型別LaravelMySql型別
- MySQL 數值型別溢位處理MySql型別
- Oracle LOB資料型別的處理Oracle資料型別
- sqlite資料型別 datetime處理SQLite資料型別
- 複雜性Complex與複雜Complicated區別 - Sonja
- 探索責任鏈模式:優雅處理複雜請求鏈模式
- 【譯】處理 iOS 中複雜的 Table Views 並保持優雅iOSView
- 科學家發明人工突觸:可處理複雜資訊
- Typescript複雜型別的宣告:寫一個工具函式庫TypeScript型別函式
- C語言中的複雜資料型別,你掌握了哪些?C語言資料型別
- XML Schema 複雜元素型別詳解:定義及示例解析XML型別
- 使用ajax請求傳送複雜的json資料型別,並解決fastjson解析複雜的json資料型別的問題JSON資料型別AST
- 處理分頁的result型別問題型別
- 多用型別常量替代#define預處理指令型別
- JDBC 處理CLob和Blob型別資料JDBC型別
- 複雜場景資料處理的 OLTP 與 OLAP 融合實踐
- hibernate如何處理儲存過程中的複雜邏輯儲存過程
- 批處理實現的ip地址切換的複雜指令碼指令碼
- MaxCompute-ODPS重灌上陣 第三彈-複雜型別型別
- 在asp.net AJAX客戶端使用複雜資料型別ASP.NET客戶端資料型別
- 物件導向程式設計:Java複雜資料型別用法(轉)物件程式設計Java資料型別