나는 주변을 둘러 보았고 내가 겪고있는 문제와 유사한 것을 발견하지 못했습니다. 그래서 나는 그것을 여기 던져 버릴 것이고 어떤 것이 붙는지를 볼 것입니다.WebAPI 요청이 404 오류를 던졌습니다 ... 동일한 요청으로
컨트롤러와 설정 방법이 있습니다.
public class BoothAPIController : ITApiControllerBase
{
[HttpGet]
public HttpResponseMessage GetActiveAssetNumbersLike([FromUri] String id)
{
HttpResponseMessage ret;
// ... do some processing
return ret;
}
}
라우트는
는http://localhost:52211/api/BoothAPI/GetActiveAssetNumbersLike/PR
http://localhost:52211/api/BoothAPI/GetActiveAssetNumbersLike/PRN0
이 사람은 그러나 ... 404 오류를 반환 ... Global.asax에
protected void Application_Start(object sender, EventArgs e)
{
GlobalConfiguration.Configuration.Routes.MapHttpRoute(
name: "CustomApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional });
GlobalConfiguration.Configuration.Routes.MapHttpRoute(
name: "BoothWithDateAPI",
routeTemplate: "api/{controller}/{boothID}/{year}/{month}/{day}");
GlobalConfiguration.Configuration.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional });
}
에서 설정 그리고이 두 가지 요청은 완벽하게 실행된다. ..
http://localhost:52211/api/BoothAPI/GetActiveAssetNumbersLike/PRN
헤더 성공적인 요청
Cache-Control →no-cache
Content-Length →7731
Content-Type →application/json; charset=utf-8
Date →Mon, 29 Aug 2016 13:13:43 GMT
Expires →-1
Pragma →no-cache
Server →Microsoft-IIS/8.0
X-AspNet-Version →4.0.30319
X-Powered-By →ASP.NET
X-SourceFiles → [string]
(어깨를 으쓱)처럼 보이는 동안 실패한 요청 내가 매개 변수에 하나의 변화가 만드는 이유 완전한 딱하다 ... 몰라 ... 같은
Cache-Control →private
Content-Length →2879
Content-Type →text/html; charset=utf-8
Date →Mon, 29 Aug 2016 12:53:08 GMT
Server →Microsoft-IIS/8.0
X-AspNet-Version →4.0.30319
X-Powered-By →ASP.NET
X-SourceFiles →= [string]
보인다 차.
Content-Type에 차이점이 있습니다. 실패하면 text/html을 보냅니다. 이 요청을 어떻게 보내십니까? 신청서를 통해 또는 우체국을 통해 어쩌면? – jpgrassi
또한 Global.asax에서 경로를 설정하는 이유는 무엇입니까? App_Start 폴더에 WebApiConfig 파일이 없습니까? – jpgrassi
요청이 동일하며 우편 배달부에서 보내지는 경우 매개 변수 문자열 만 다릅니다. 최대한 멀리 Global.asax ... 순간 편의. 필자는 구성을 많이 할 필요가 없으므로이를 해결할 필요가 없습니다. 응용 프로그램이 커짐에 따라 조금 더 리팩터링 할 수 있습니다. –