API控制器发布,放置和删除路由不起作用

时间:2015-02-25 12:29:24

标签: c# asp.net asp.net-mvc asp.net-web-api restful-url

我正在使用asp.net restful服务并创建了WebApi Controller。 它与Get完美配合但不使用Post,Put Delete。

 public string Get()
        {
            return "value";
        }

 public string Post()
        {
            return "value";
        }

路由配置

 config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );

http://localhost:50089/api/UserProfile/get
http://localhost:50089/api/UserProfile/Post

帖子不起作用但是工作正常,我尝试在路线上添加路线,但它不起作用

1 个答案:

答案 0 :(得分:-1)

试试这个:

    [HttpPost]
    public IHttpActionResult MyPostMethod(string param)
    {
       ...
       return Ok();
    }

此外,您应该返回IHttpActionResult

  

IHttpActionResult接口是在Web API 2中引入的。本质上,它定义了一个HttpResponseMessage工厂。以下是使用IHttpActionResult接口的一些优点:

     

•简化控制器的单元测试。

     

•将用于创建HTTP响应的通用逻辑移动到单独的类中。

     

•通过隐藏构建响应的低级细节,使控制器操作的意图更加清晰。

要进行测试,您可以使用Firefox的'poster'插件。