1
컨트롤러에 두 가지 동작 방법이 있습니다.'이름'과 일치하는 컨트롤러 '사용자'에 대한 작업이 없습니다.
[RoutePrefix("user")]
public class UserController: ApiController
{
[HttpGet]
public IEnumerable<User> Get()
{
return new User.GetUsers();
}
[Route("{name}")]
[HttpGet]
public IEnumerable<User> GetByName(string name)
{
return new User.GetUsers(name);
}
}
다음은 내가 API에 어떤 문제가 있는지 확실하지 오전 내 경로 설정 파일
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "{controller}/{action}/{id}",
defaults: new { controller = "user", id = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
name: "DefaultApiGet",
routeTemplate: "{controller}/{id}",
defaults: new { action = "Get", id= RouteParameter.Optional },
constraints: new { httpMethod = new HttpMethodConstraint(HttpMethod.Get) }
);
나는
localhost/User - - Working
localhost/User/Jane -- Not working throwing error.
다음 호출하고있다.
에서 규칙 기반 및 속성 경로를 혼합하지 않으려는 라우팅 속성을 활성화해야'나는 그런 바보 같은 일을 그리워 않았다 방법을 잘 모르겠습니다 규칙 기반 경로 – Nkosi