경로에 어떤 문제가 있는지 잘 모르겠습니다. 경로에 액세스하려고하면 중단 점이 실행되지 않습니다. 여기 경로가 실행되지 않음 Asp.Net 코어
이 구글에서 소스 메시지 고급 나머지 클라이언트입니다POST /api/menu HTTP/1.1
HOST: localhost:6223
content-type: application/json
content-length: 34
{ "app_id": 99999, "user_type": 2}
여기에 내가 GetMenuItems
에 중단 점을 배치하고도 발사되지 내 컨트롤러
[Route("api/[controller]")]
public class MenuController : Controller
{
private MenuRepo xMenuRepo;
public MenuController(IOptions<SqlConnectionStringsList> iopt)
{
xMenuRepo = new MenuRepo(iopt);
}
[HttpPost]
public IEnumerable<Menu> GetMenuItems([FromBody] MenuQuery menuq)
{
List<Menu> xMenuList = new List<Menu>();
xMenuList = xMenuRepo.GetMenuItems(menuq.app_id, menuq.user_type);
return xMenuList;
}
}
public class MenuQuery
{
public int app_id { get; set; }
public int user_type { get; set; }
}
입니다. 응답은 500 내부 서버 오류입니다. 이 프로젝트에는 두 개의 경로 만 있습니다. 새 프로젝트가있는 기본 ValuesController와이 MenuController입니다. 컨트롤러 위쪽이 아닌 프로젝트에서 경로를 지정하는 데 필요한 추가 위치를 찾을 수 없습니다. 하지만 ValuesController는 작동합니다! 나는 무엇이 잘못되었는지 알 수 없다!?
인간 용어로 이것은? 컨트롤러에 Route'api/[controller]를 놓으면 각 액션에 대한 경로를 지정해야합니다. '[HttpPost] '를 의미하는'GetMenuItems'을 의미하는 동작은'("")'경로가 누락 되었습니까? –
예. 경로가없는 HttpPost는 기존 라우팅에서 작동합니다. '[HttpPost] [Route ("")]'와 같이 쉽게 사용할 수 있지만 [HttpPost]는 라우트가 속성에 포함되도록합니다. asp.net 코어에서 라우팅에 대한 더 나은 이해를 얻으려면 답안에 링크 된 문서를 확인하십시오. – Nkosi
짐작할 수 있겠지만 생각했기 때문에 나는 걸려 넘어졌습니다. –