새로운 웹 API 2 (매우 유망한 btw로 보임)로 놀았지만 약간의 두통으로 인해 일부 경로가 작동합니다. GetAllUsers/GetUser (int id)를 사용할 때 모두 제대로 작동하지만 GetUserByName (문자열 이름) 및/또는 GetUserByUsername (문자열 사용자 이름)을 추가하면 문제가 생기기 시작합니다. 나는 INT는 첫 번째가 될 것이라고 나는 경로를 재정렬 만의 다음과 같은 시나리오를 가정 해 봅시다 수 있다는 사실을 알고 :웹 API 2/MVC 5 : 동일한 컨트롤러에서 다른 작업을 목표로 매개 변수를 쿼리 문자열로 전달합니다.
이사용자가 가질 수를 유효한 username=1234
또는 name=1234
(나는 그것이 가능성이 알고 있지만, 우리가 어떤을 방지하기 위해 필요 가능한 상황) 데이터베이스에 유효한 1234 ID가있을 수 있으며 모든 경로가 섞일 것입니다.
아마도 이것은 우리가 새로운 WebAPI 2에서 작업해야 할 필요가있을 수도 있습니다. 따라서 같은 컨트롤러에서 다른 작업 (예 : GetUserByUsername)을 목표로하기 위해 필터를 쿼리 문자열로 전달하는 "해결 방법"을 사용할 수 있다고 생각했습니다. 또는 api/users/?name=1234
(GetUserByName)
그러나 나는 querystring을 통과 할 수 없습니다. 실제로 위의 모든 쿼리 제한 옵션은 GetAllUsers에 의해 잡히고 있습니다.
누구나 해당 시나리오에 대한 제안/수정 사항이 있습니까?
감사
우수! 이제 작동 중입니다. 그것을 주셔서 감사합니다 ... 나는 내 코드에 잘못했는지 모르겠다 : p 기회를 잡아, 공공 비동기 작업 공용 (User) 대신 Get (int id)를 사용하는 것이 어떤 이점이 있습니까? UserViewModel Get 신분증)? 내가 아는 한 웹 API는 어쨌든 파이프 라인에서 작업을 사용합니다. 건배 –
julianox
이 도움이 될 수 있습니다 ... http://hanselminutes.com/327/everything-net-programmers-know-about-asynchronous-programming-is-wrong – jd4u
감사합니다 jd4u : D 나는이 에피소드를 놓쳤습니다, 매우 도움이되었습니다. 과연. 건배 – julianox