Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 在url中手动使用web api方法_Asp.net_Asp.net Mvc_Web_Asp.net Web Api_Asp.net Mvc Routing - Fatal编程技术网

Asp.net 在url中手动使用web api方法

Asp.net 在url中手动使用web api方法,asp.net,asp.net-mvc,web,asp.net-web-api,asp.net-mvc-routing,Asp.net,Asp.net Mvc,Web,Asp.net Web Api,Asp.net Mvc Routing,关于WebAPI,这是你可能遇到的最愚蠢的问题,但作为一个新手,我很难找到这个简单问题的答案。 在下面的代码中,如果我可以很容易地调用一个返回“number”的函数,但是另一个使用Add方法,我就是找不到正确的方法来调用它,因为每次我尝试时,我都会遇到404错误 有人能告诉我如何用适当的参数调用该方法“Add”吗 namespace WebAPIServices.Controllers { public class ValuesController : ApiController { /

关于WebAPI,这是你可能遇到的最愚蠢的问题,但作为一个新手,我很难找到这个简单问题的答案。 在下面的代码中,如果我可以很容易地调用一个返回“number”的函数,但是另一个使用Add方法,我就是找不到正确的方法来调用它,因为每次我尝试时,我都会遇到404错误

有人能告诉我如何用适当的参数调用该方法“Add”吗

namespace WebAPIServices.Controllers
{
public class ValuesController : ApiController
{
    // GET api/values
    public string Get()
    {
        return "number";
    }

    //how can i call this one?
    public int Add(int num1,int num2)
    {
    return num1+num2;
    }
}

}

您应该能够在http://code>api/values/add?num1=1&num2=2调用它

您需要添加
[HttpGet]
属性,否则它默认为
[HttpPost]
。您可能还需要添加路由

//how can i call this one?
[HttpGet]
[Route("api/values/add")]
public int Add(int num1, int num2)
{
    return num1 + num2;
}

如果您使用的是Web API 2,那么可以使用属性路由(

详情如下:

然后从浏览器或控制台应用程序调用它:

http:///api/values/add?num1=11&num2=12


谢谢

嗨,Anthony,我试过了,但是它调用了返回“number”作为message的方法。对不起,您需要为它设置路由。如果您使用的是Web API 2,您可以添加
[HttpGet]
[route(“API/values/add”)]
关于该方法。非常感谢Anthony。这很好。@Sike12您实际上不需要添加路由。只需要告诉它这是一个GET。好的Anthony我发现必须添加路由,否则调用将失败:)谢谢Kaz LA。我现在正在使用webapi(第一个版本)