例如:
[OperationContract]
[WebInvoke(Method = "POST",
ResponseFormat = WebMessageFormat.Json,
UriTemplate = "AddUsers/這裡怎填?")]
void AddUsers(List<string> users);
------最佳解决方案--------------------
List<string> users 是Post的,在Request Body里。Uri里不需要。
------其他解决方案--------------------
先謝謝大大,
這樣就ok了?
[OperationContract]
[WebInvoke(Method = "POST",
ResponseFormat = WebMessageFormat.Json,
UriTemplate = "AddUsers")]
void AddUsers(List<string> users);
那如果void AddUsers(List<string> users,string test,string test1);這樣呢?
------其他解决方案--------------------
需要调整一下顺序,get 参数在前,post 在后
[UriTemplate="AddUsers/{test}/{test1})]
void AddUsers(string test, string test1, List<string> users);
不过这不符合Rest设计思想,有点蛋疼
------其他解决方案--------------------
不是,我的意思是想post 2個參數,
例如void AddUsers(string List<string> product, List<string> users);
------其他解决方案--------------------
你的对象应该组合了。重新设计
void AddUsers(List<User> users);
每个users里有navigate property带着 products
------其他解决方案--------------------
就是post只能post一個參數?
------其他解决方案--------------------
是的。
------其他解决方案--------------------
[UriTemplate="AddUsers)]
void AddUsers(List<string> users);
請問在客戶端是如何post 上server的?
例如在客戶端請求http://localhost/userService.svc/AddUsers
但User的資料怎送過來server那邊?
------其他解决方案--------------------
修正:
[UriTemplate="AddUsers)]
void AddUsers(User user);
客戶端請求http://localhost/userService.svc/AddUsers