2016-12-07 10 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」タイプは、コンテンツタイプ「アプリケーション/ xmlの;のcharset = UTF-8」の応答体をシリアル化に失敗した)エラーを取得して、試してみました – Swapna

+0

あなたのAjaxメソッドを編集してください、あなたが設定されている必要があります 'ContentTypeを:application/xml' ajaxリクエスト? – Manoj

答えて

3

あなたのURIは'http://localhost:8269/api/Products'

(デフォルトのルーティング...と)次のようになります。私はこのURL(http://localhost:8269/api/getproducts)との応答を得るが、エラーを取得しようとしましたWeb API 2を使用しています。この例では、上記のURLで問題なく動作します。 Web API 1を使用する場合、メソッドはGet()と呼ばれるか、[HttpGet]属性で修飾する必要があります。

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

私はあなたがasp.net web apithis answerの基本で少し近い見てください。

+0

また、Restのリソース命名の基本を調べる価値があります - http://www.restapitutorial.com/lessons/restfulresourcenaming.html –

関連する問題