【问题标题】:Post and Get request method issue发布和获取请求方法问题
【发布时间】:2014-08-13 14:30:03
【问题描述】:

我目前在让两个请求一起工作时遇到问题。

当我使用[FromUri] 时,我无法在提琴手中过滤 POST 请求,但我可以在任何浏览器中调用 GET 请求。

但是当我使用[FromBody] 时,我无法请求 GET 方法,但我能够在提琴手中过滤 POST 请求。

(例如 GET 请求 --> localhost/api/test?name=bbcm)

(例如 POST 请求: [request header] --> 用户代理:提琴手 内容类型:应用程序/json; 主机:本地主机:45361 内容长度:16 授权:基本#####= [request Body] --> {"name":"bbcm"})

 [Authorize]
 [HttpGet]
 [HttpPost]
 public HttpResponseMessage post([FromUri] Query query)
 {
      // do something

        var data = Data.ToList();

        if (!data.Any())
        {
            var message = string.Format("No data found");
            return Request.CreateErrorResponse(HttpStatusCode.NotFound, message);
        }

        return Request.CreateResponse(HttpStatusCode.OK, data);
    }

}

我是否错误地调用了请求,或者我需要更改其代码以使其正常工作。 请指教。非常感谢

【问题讨论】:

    标签: c# post asp.net-web-api get


    【解决方案1】:

    只需创建一个 POST 方法和一个 GET 方法以及一个从它们两者调用的私有方法。这允许将输入参数正确地用于所需的方法。

    如果您确实需要,您仍然可以通过 Request 对象访问 POST 方法上下文中的 GET 参数。

    【讨论】:

      猜你喜欢
      • 2021-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多