API工作正常,但不接受参数c#

时间:2017-10-23 18:40:43

标签: c# asp.net-web-api asp.net-web-api2

我的路线前缀在这里:

[RoutePrefix("api/Adresses")]
public class AdressesController : ApiController
{

我的功能在这里:

[Route("{codeEtudiant}")]
// GET: api/Adresses/1
public IEnumerable<Object> getAdresseEtu(Int32 code)
{

我打电话给我的api:

using (var client2 = new HttpClient())
{
    string getasync = "http://localhost:11144/api/Adresses/" + etu.Code;
    var response2 = await client.GetAsync(getasync);
    var json2 = await response.Content.ReadAsStringAsync();
    int cpt2 = -1;
    foreach (object tmp2 in JsonConvert.DeserializeObject<List<Object>>(json2))
    {

我的字符串getasync返回:http://localhost:11144/api/Adresses/1

使用这些方法,我可以调用我的api中没有参数的任何函数,但是只要我有一个它没有响应并给我回复:

  

404原因(未找到)

2 个答案:

答案 0 :(得分:4)

参数名称必须匹配。目前,您具有名为alph = [0]*26 s = input() s = s.lower() max_freq = -1 for c in s: if c != ' ': alph[ord(c)-ord('a')] += 1 if max_freq < alph[ord(c)-ord('a')]: max_freq = alph[ord(c)-ord('a')] for i in range(26): if alph[i] == max_freq: print("Character : ",chr(i+ord('a')),", Frequency : ",alph[i]) 的路由参数,但是名为codeEtudiant的方法的参数。给他们两个相同的名字。

code

另见Attribute Routing in ASP.NET Web API 2

答案 1 :(得分:0)

错误是因为路径属性必须具有相同的参数名称,请使用

volumes: &appvolumes