Azure 移动服务 - 使用复杂类型参数使用 POST 操作
Azure Mobile Service - Consume POST Operation With Complex Type Parameter
我使用以下方法创建了一个自定义控制器:
// POST api/CustomLogin
public HtpResponseMessage Post(LoginRequest loginRequest)
{
// ...
}
LoginRequest 所在位置:
public class LoginRequest
{
public string Username { get; set; }
public string Password { get; set; }
}
如何使用 Microsoft.WindowsAzure.MobileServices.MobileServiceClient 来消费这个操作?我原本希望使用 InvokeApiAsync,但我只能看到两个覆盖,它们都不允许我在请求消息中传递内容。
您应该可以执行以下操作:
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)
我使用以下方法创建了一个自定义控制器:
// POST api/CustomLogin
public HtpResponseMessage Post(LoginRequest loginRequest)
{
// ...
}
LoginRequest 所在位置:
public class LoginRequest
{
public string Username { get; set; }
public string Password { get; set; }
}
如何使用 Microsoft.WindowsAzure.MobileServices.MobileServiceClient 来消费这个操作?我原本希望使用 InvokeApiAsync,但我只能看到两个覆盖,它们都不允许我在请求消息中传递内容。
您应该可以执行以下操作:
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)