2016-08-15 58 views
0

我有一個API控制器和GET方法是這樣的:如何使用參數(例如排序查詢或搜索查詢)在API控制器中創建GET方法?

public IEnumerable<CountryDTO> GetContries(string sortOrder, string searchString) 
{ 
    return countryRepository.GetCos(sortOrder, searchString); 
} 

,但是當我試圖讓URL API /國家 I`ve得到了如下錯誤: 所請求的資源不支持HTTP方法「GET 」。

如何解決這個問題?

+0

這是回答嗎? http://stackoverflow.com/questions/12765636/the-requested-resource-does-not-support-http-method-get – Lukos

+0

不幸的是,沒有( –

+0

[System.Web.Http.AcceptVerbs(「GET」)] [System.Web.Http.HttpGet] 公共的IEnumerable GetContries(字符串中將sortOrder,字符串搜索字符串) { 返回countryRepository.GetCos(中將sortOrder,searchString的); } –

回答

0

嘗試明確標記方法[HttpGet]並對您的方法進行以下更改。

[HttpGet]  
public IEnumerable GetCountries(string sortOrder, string searchString) 
{ 
    return countryRepository.GetCos(sortOrder, searchString).ToList(); 
} 

另外,我建議你做出改變之前,簡單地使用像SOAPUI或提琴手一個工具來測試方法。看看你是否能夠得到答覆。這樣你就可以確定這個問題不在方法形成的基礎之中。

[HttpGet]  
public string GetCountries(string sortOrder, string searchString) 
{ 
    return ("returns list of countries"); 
} 
+0

沒有參數可以正常工作 –

+0

這是您傳遞參數的方式嗎? http:// yourhost/api/countries /?sortOrder = somevalue&searchString = somevalue –

+0

是的,這樣。 –