You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It looks like sometimes the generated Http verb ("GET","POST","DELETE","PUT") is generated based on method name... So if my webservice method name is "DeleteMyStuff" the proxy generated on client will try to use verb "DELETE" although my webservice does not support "DELETE" verb. Same for method named like "GetMyStuff" having [HttpPost] attribute - on client it generates sometimes verb GET instead of verb POST which will result in an error because server does not support GET verb for that method.
Hi @CalinBunea the generation is using the API Explorer from within ASP.NET to determine the correct verb and is not per convention directly, however the route resolver in ASP.NET uses convention if the verb is not explicitly defined on the action.
Can you provide me with a snippet of your controller?
the method in controller:
[HttpPost]
public List GetPsPopularityDataForSearchPhrases(string countryPrefix,List searchPhrases)
{
......
}
and the generated client proxy
public virtual List GetPsPopularityDataForSearchPhrases(String countryPrefix,List searchPhrases)
{
var result = Task.Run(() => GetPsPopularityDataForSearchPhrasesAsyncMsg(countryPrefix, searchPhrases)).Result;
Another update: I think this issue was caused by a method overload. One of the methods didn't had [HttpPost] and probably this is why the second method (overloaded) which has [HttpPost] was still generated to use verb GET.
Activity
faniereynders commentedon Sep 16, 2016
Hi @CalinBunea the generation is using the API Explorer from within ASP.NET to determine the correct verb and is not per convention directly, however the route resolver in ASP.NET uses convention if the verb is not explicitly defined on the action.
Can you provide me with a snippet of your controller?
CalinBunea commentedon Sep 16, 2016
Well when I access my webservice /api/proxies for that specific method I have
the method in controller:
[HttpPost]
public List GetPsPopularityDataForSearchPhrases(string countryPrefix,List searchPhrases)
{
......
}
and the generated client proxy
public virtual List GetPsPopularityDataForSearchPhrases(String countryPrefix,List searchPhrases)
{
var result = Task.Run(() => GetPsPopularityDataForSearchPhrasesAsyncMsg(countryPrefix, searchPhrases)).Result;
CalinBunea commentedon Sep 16, 2016
Small update, I have renamed the method (to not include "get" in name) but still the verb generated is GET...
CalinBunea commentedon Sep 16, 2016
Another update: I think this issue was caused by a method overload. One of the methods didn't had [HttpPost] and probably this is why the second method (overloaded) which has [HttpPost] was still generated to use verb GET.