我有这个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中测试它?
将属性路由更改为以下内容:
[Route("api/Homes/GetDetails/{id}")]
它应该有所帮助。