邮差 - 发现多个与Web Api中的请求匹配的操作

问题描述 投票:3回答:1

我有这个webapi2控制器:

public class HomesController : ApiController

我创建了一个这样的自定义动作:

[Route("api/Homes/GetDetails")]
[HttpGet]
public IHttpActionResult GetDetails(string id)
{
    var x = db.Homes.Where(b => b.HomeID == id).Select(b => new { Description = b.Description, FacebookLink = b.FacebookLink , InstagramLink = b.InstagramLink });

    if (x == null)
    {
        return NotFound();
    }

    return Ok(x);
}

我在Postman中导航以使用以下URL测试此操作:

http://localhost:59381/api/Homes/GetDetails/TEST

但是我收到了错误:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 

我已将此添加到webapiconfig:

 config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = System.Web.Http.RouteParameter.Optional }
        );

任何人都可以帮我如何调用此动作并在Postman中测试它?

c# asp.net-web-api asp.net-web-api2 postman
1个回答
1
投票

将属性路由更改为以下内容:

 [Route("api/Homes/GetDetails/{id}")]

它应该有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.