C# 如何从Postman测试web api的多个可选参数
我正在学习和创建示例WebApi。在Web Api项目中,控制器名称为C# 如何从Postman测试web api的多个可选参数,c#,asp.net-web-api,postman,C#,Asp.net Web Api,Postman,我正在学习和创建示例WebApi。在Web Api项目中,控制器名称为Producer。我试图通过邮递员得到名字,但没有得到任何结果 我遵循了这一点,但没有得到结果 从邮递员我传递的要求如下 http://localhost:62116/api/Producer/GetUserAgencyDetails/?firstname=peter WebAPI标题如下所示 [HttpGet] [Route("GetUserAgencyDetails/{firstName}/{l
Producer
。我试图通过邮递员得到名字,但没有得到任何结果
我遵循了这一点,但没有得到结果
从邮递员我传递的要求如下
http://localhost:62116/api/Producer/GetUserAgencyDetails/?firstname=peter
WebAPI标题如下所示
[HttpGet]
[Route("GetUserAgencyDetails/{firstName}/{lastName}/{agencyName}/{emailAddress}/{userId}")]
public async Task<User> GetUserAgencyDetails(string firstName = "", string lastName = "", string agencyName = "", string emailAddress = "", string userId ="")
{
//some code
}
[HttpGet]
[路由(“GetUserAgencyDetails/{firstName}/{lastName}/{agencyName}/{emailAddress}/{userId}”)]
公共异步任务GetUserAgencyDetails(字符串firstName=,字符串lastName=,字符串agencyName=,字符串emailAddress=,字符串userId=)
{
//一些代码
}
请告诉我我犯了什么错误。我认为您的路由不正确,请尝试这样使用它:
[HttpGet]
[Route("Api/Producer/GetUserAgencyDetails")]
public async Task<User> GetUserAgencyDetails(string firstName = "", string lastName = "", string agencyName = "", string emailAddress = "", string userId ="")
{
//some code
}
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new
{
id = RouteParameter.Optional
}
);
您是否调试了web API代码以了解它为什么不返回任何结果?当您从postman调用web API时,是否会收到200个响应代码?您试图向其发出请求的API的url是什么?向我们显示您试图发送的邮递员请求。我对您提到的web API方法的路由有疑问。只需删除GetUserAgencyDetails之后的所有字段和正斜杠,然后再次点击API即可。。我相信它会工作,您尝试使用querystring,但您通过参数定义路由。如果您喜欢参数,请避免询问。