服務端有這樣乙個類:
public class user
定義查詢介面的時候有我想到兩個方案:
public user getusers(string username, string pwd, int groupid);
// 這樣的定義客戶端呼叫的時候只有兩種結果,一是得到要查詢的資料,一是
// 得到空陣列,然後缺點就是得不到錯誤提示,是密碼不對還是group不存在
// 還是其它原因。。。
public string getusers(string username, string pwd, int groupid);
// 這樣定義的話客戶端可以得到錯誤提示
// 但缺點是得不到物件,需要自己解析字串再封裝成物件
後來在論壇提問得到第三個方案:
再寫乙個類
public class userresponse
這樣介面可以定義為:
正準備開幹又發現乙個缺點,除了user還有很多類
每個類都寫乙個***response來封裝又很麻煩
於是向高手討教,得到又乙個方案:
介面定義為
public object getusers(string username, string pwd, int groupid);
//在實現這個方法時,將message放入object[0], user 放入object[1]
//這樣就不用寫那麼多類了
//不過客戶端又要多做一點事情,就是將object[1]強制轉換成相應的型別
我發現客戶端並沒有生成user物件,axis2應該是根據介面來生成的wsdl檔案
於是我加入乙個介面
public void donothing(user user, *** *** ....);
// 這樣客戶端就能生成user類了
還有人說可以拋出自定義異常來返回錯誤提示,這樣也可以吧
Web Service介面設計
web service介面設計 鑑於ws介面的呼叫方式和普通的api呼叫方式不一樣,因此在設計ws介面時應該有一些其他的考量。以下是我的一些想法,做磚拋了。1 介面命名的自描述性必須好。有時候檢視乙個ws會通過wsdl的方式檢視,尤其是在跨平台的時候,乙個自描述性好的api可以清楚的描述乙個serv...
UI介面設計 介面設計流程
人類社會逐步向非物質社會邁進,網際網路資訊產業已經走入我們的生活。在這樣乙個非物質社會中,與軟體這些非物質產品再也不象過去那樣緊緊靠技術就能處於不敗之地。工業設計開始關注非物質產品。但是在國內依然普遍存在這樣乙個稱呼 美工 工 的意思就是沒有思想緊緊靠體力工作的人。這是乙個很愚昧的做法,愚昧在於稱呼...
介面設計定理
介面設計定理 模組分解原理探索 模組分解原理與三權分立 介面關係穩定原理探索 前面幾篇文章中講過模組分解原理和介面關係穩定原理,這篇文章中將使用模組分解原理和介面關係穩定原理來推導乙個重要的定理 介面設計定理。在講解介面設計定理前,先看一下robert c.martin著的 敏捷軟體開發 一書中提到...