2015-04-01 94 views
2

我已經創建了下面的方法定製控制器:Azure的移動服務 - 消費POST操作複雜型參數

// POST api/CustomLogin 
public HtpResponseMessage Post(LoginRequest loginRequest) 
{ 
    // ... 
} 

凡LoginRequest是:

public class LoginRequest 
{ 
    public string Username { get; set; } 
    public string Password { get; set; } 
} 

我如何使用微軟.WindowsAzure.MobileServices.MobileServiceClient使用此操作?我期待使用InvokeApiAsync,但我只能看到兩個覆蓋,這兩個覆蓋都不允許我在請求消息中傳遞內容。

回答

6

你應該能夠做這樣的事情:

var loginParams = new LoginRequest() { ... }; 
var result = await Client.invokeApiAsync<LoginResult, string>("CustomLogin", loginParams); 

其中任何一個會給你選項來控制請求的內容,與第一個給你上的內容&響應完全控制。

public async Task<HttpResponseMessage> InvokeApiAsync(string apiName, 
    HttpContent content, HttpMethod method, IDictionary<string, string> 
    requestHeaders, IDictionary<string, string> parameters) 

public async Task<U> InvokeApiAsync<T, U>(string apiName, T body, 
    HttpMethod method, IDictionary<string, string> parameters) 

public async Task<JToken> InvokeApiAsync(string apiName, JToken body,  
    HttpMethod method, IDictionary<string, string> parameters) 
+0

信息可以在這裏找到 - https://msdn.microsoft.com/en-us/library/dn268388.aspx – 2015-04-01 06:13:32

+0

非常感謝,謝謝。 – 2015-04-02 00:46:14

+0

你救了我的一天。試圖將對象作爲字符串Json發送時遇到了問題。但是這解決了它。謝謝。 – ajmena 2016-07-22 10:02:01