Nul*_*nce 8 c# asp.net rest web-services asp.net-web-api
我有以下Web Api方法签名
public HttpResponseMessage GetGroups(MyRequest myRequest)
Run Code Online (Sandbox Code Playgroud)
在客户端中,如何将MyRequest传递给调用方法?
目前,我有这样的事情
var request = new MyRequest()
{
RequestId = Guid.NewGuid().ToString()
};
var response = client.GetAsync("api/groups").Result;
Run Code Online (Sandbox Code Playgroud)
我该如何传递request
给GetAsync
?
如果这是一种POST
方法,我可以做这样的事情
var response = client.PostAsJsonAsync("api/groups", request).Result;
Run Code Online (Sandbox Code Playgroud)
Bad*_*dri 13
您无法为HTTP GET请求发送邮件正文,因此您无法使用相同的邮件正文HttpClient
.但是,您可以使用请求消息中的URI路径和查询字符串来传递数据.例如,您可以像这样使用URI api/groups/12345?firstname=bill&lastname=Lloyd
和参数类MyRequest
.
public class MyRequest
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
由于MyRequest
是复杂类型,您必须像这样指定模型绑定.
public HttpResponseMessage GetGroups([FromUri]MyRequest myRequest)
Run Code Online (Sandbox Code Playgroud)
现在,该MyRequest
参数将包含URI路径和查询字符串中的值.在这种情况下,Id
将是12345,FirstName
将是法案LastName
并将成为劳埃德.
归档时间: |
|
查看次数: |
23422 次 |
最近记录: |