2015-07-29 4 views
0

"сообщение": "Ни один HTTP ресурс не был найден соответствующий запрос URI 'http://localhost:64221/api/companies/lncr/Orders/00029303_070/Lines/6'.",WEB API 2 Routing вопрос

"messageDetail": «Никаких действий не было найдено на контроллере 'PurchLines', что соответствует запрос."

[RoutePrefix("api/companies/{compId}/Orders/{orderId}/Lines")] 
public class PurchLinesController : BaseApiController 
{ 
    public PurchLinesController(IPortalReposotry repo) 
     : base(repo) 
    { 

    } 

    [Route("")] 
    public HttpResponseMessage Get(String compId, String orderId, int levelOfDetails = 1) 
    { 
     IQueryable<PurchLine> query; 

     if (levelOfDetails == 1) 
     { 
      query = PortalReposotry.GetPurchasLines(compId, orderId); 
     } 
     else 
     { 
      query = PortalReposotry.GetPurchasLinesWithApprovalHist(compId, orderId); 
     } 

     if (query.Count() == 0) 
     { 
      return Request.CreateResponse(HttpStatusCode.NotFound); 
     } 

     var results = query.ToList() 
          .Select(v => this.ModelFactory.Create(v)); 


     return Request.CreateResponse(HttpStatusCode.OK, results); 
    } 

    [Route("{lineId:double}" , Name="line")] 
    public HttpResponseMessage Get(String compId, String purchId, double lineId, int levelOfDetails = 1) 
    { 
     PurchLine results; 
     if (levelOfDetails == 1) 
     { 
      results = PortalReposotry.GetPurchasLine(compId, purchId, lineId); 
     } 
     else 
     { 
      results = PortalReposotry.GetPurchasLineWithApprovalHist(compId, purchId, lineId); 
     } 

     if (results == null) 
     { 
      return Request.CreateResponse(HttpStatusCode.NotFound); 
     } 

     return Request.CreateResponse(HttpStatusCode.OK, ModelFactory.Create(results)); 
    } 
} 

Запрос должен соответствовать второму запросу Get.
апи/компании/{CompID}/Приказы/{OrderId}/Линии/{lineId} http://localhost:64221/api/companies/lncr/Orders/00029303_070/Lines/6

lineId является тип двойной, я также попытался http://localhost:64221/api/companies/lncr/Orders/00029303_070/Lines/6.0/

Но это Бесполезный Я тоже работаю, поэтому я не понимаю, что я делаю неправильно.

ответ

0

Я нашел свою ошибку, второй ответ получил покупатель, но мой RoutePrefix был определен как orderId. простой недосмотр.

Смежные вопросы