Asp.net 在url中手动使用web api方法
关于WebAPI,这是你可能遇到的最愚蠢的问题,但作为一个新手,我很难找到这个简单问题的答案。 在下面的代码中,如果我可以很容易地调用一个返回“number”的函数,但是另一个使用Add方法,我就是找不到正确的方法来调用它,因为每次我尝试时,我都会遇到404错误 有人能告诉我如何用适当的参数调用该方法“Add”吗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 { /
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(第一个版本)