Azure移动服务-使用具有复杂类型参数的POST操作

Azure移动服务-使用具有复杂类型参数的POST操作,azure,azure-mobile-services,Azure,Azure Mobile Services,我已使用以下方法创建了自定义控制器: // POST api/CustomLogin public HtpResponseMessage Post(LoginRequest loginRequest) { // ... } 如果登录请求是: public class LoginRequest { public string Username { get; set; } public string Password { get; set; } } 如何使用Micros

我已使用以下方法创建了自定义控制器:

// POST api/CustomLogin
public HtpResponseMessage Post(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);
var loginParams=new LoginRequest(){…};
var result=await Client.invokeApiAsync(“CustomLogin”,loginParms);
其中任何一个都将为您提供控制请求内容的选项,第一个选项将为您提供对内容和响应的完全控制

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)
公共异步任务InvokeApiAsync(字符串apiName,
HttpContent内容,HttpMethod方法,IDictionary
RequestHeader,IDictionary参数)
公共异步任务InvokeApiAsync(字符串apiName,T body,
HttpMethod方法,IDictionary参数)
公共异步任务InvokeApiAsync(字符串apiName,JToken body,
HttpMethod方法,IDictionary参数)

信息可以在这里找到-你救了我一天。我在尝试将对象作为字符串Json发送时遇到问题。但这解决了问题。非常感谢。