2016-12-07 2 views
-1

브라우저에서 get api 결과를 보는 방법을 모르겠습니다.webapi 결과를 얻을 수 없습니다.

<Error> 
    <Message> 
     No HTTP resource was found that matches the request 
     URI 'http://localhost:8269/api/getProducts'. 
    </Message> 
    <MessageDetail> 
     No type was found that matches the controller named 'getProducts'. 
    </MessageDetail> 
</Error> 
public class ProductsController : ApiController 
{ 
    Product[] products = new Product[] 
    { 
     new Product { ProductId=1,ProductName="samsung",ProductCategory="mobile",ProductPrice=7889 }, 
     new Product { ProductId=1,ProductName="nokia",ProductCategory="mobile",ProductPrice=7844 }, 
     new Product { ProductId=1,ProductName="lg",ProductCategory="mobile",ProductPrice=7887 }, 
     new Product { ProductId=1,ProductName="xiomi",ProductCategory="mobile",ProductPrice=7856 }, 
     new Product { ProductId=1,ProductName="htc",ProductCategory="mobile",ProductPrice=7833 } 
    }; 

    public IEnumerable getProducts() 
    { 
     return products; 
    } 
} 
+0

시도 했습니까 - http : // localhost : 8269/api/products/getproducts? – Manoj

+0

네, 오류가 발생했습니다 ('ObjectContent'1'유형이 'application/xml; charset = utf-8'콘텐츠 유형에 대한 응답 본문을 직렬화하지 못했습니다.) – Swapna

+0

ajax 메소드를 편집하십시오. 'ContentType : 응용 프로그램/xml' 아약스 요청? – Manoj

답변

3

귀하의 URI가 'http://localhost:8269/api/Products'

입니다 (기본 라우팅 ...에) 있어야한다 :이 URL (http://localhost:8269/api/getproducts)로 응답을 얻을 수 있지만, 오류가 시도 당신은 위의 URL과 잘 작동합니다 웹 API 2를 사용하고 있습니다. 웹 API 1을 사용하는 경우 메서드는 Get()이라고 지정하거나 [HttpGet] 특성으로 지정해야합니다.

[HttpGet] 
public IEnumerable getProducts() 
{ 
    return products; 
} 

난 당신이 asp.net web apithis answer의 기초에서 조금 자세히 살펴 좋습니다.

+0

Rest에서 리소스 이름 지정의 기초를 살펴볼 가치가 있습니다 - http://www.restapitutorial.com/lessons/restfulresourcenaming.html –