我试图在与umbraco网站相同的项目中调用webapi。
我使用默认的webapi路由并在应用程序启动时调用它:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
...并在控制器文件夹下的api文件夹中设置一个控制器:
public class ServiceContactFormController : UmbracoApiController
{
[HttpGet]
public HttpResponseMessage Get()
{
return Request.CreateResponse(HttpStatusCode.Accepted);
}
}
当我使用http://localhost:[port]/api/ServiceContactForm呼叫webapi时,我收到了404。
Umbraco是否还需要额外的步骤?
此致
答案 0 :(得分:1)
没关系 - 对于那里的其他人,Umbraco请接管路线并添加&umbraco'到路线,加上你需要采取行动,因为默认的get,post等方法无法被识别...更多信息请https://our.umbraco.org/forum/developers/api-questions/39075-Web-API-routing-not-working。
工作示例是: http://localhost:[port]/umbraco/api/ServiceContactForm/get