【问题标题】:How to create a proper HTTPPost webservice method如何创建正确的 HTTPPost 网络服务方法
【发布时间】:2016-07-22 21:00:31
【问题描述】:

我正在尝试做一个 [HTTpPost] 网络服务,但不幸的是没有成功。

我的示例类是这样的:

[RoutePrefix("CarInformation")]
public class CarInformationController : BaseApiController
{
    [HttpPost]    
    [Route("BodyStatusHistory2/{orders}")]
    public HttpResponseMessage GetHistory(string orders)
    {

        //do something with orders

    }   
}

这是正确的吗?如果是这样,我该如何称呼它?我从浏览器尝试了几件事,但我无法调用它。

我也可以合并

[HTTpGET] and [HTTpPOST] ?

那么一个方法可以有 GET 和 POST 吗?如果我将注释从 POST 替换为 GET,我可以在 url 中调用它并且它正在工作。不幸的是,POST 没有

【问题讨论】:

标签: web-services post asp.net-web-api get


【解决方案1】:

是的,我知道,但我不想要 GET,它必须是 POST。这是我的 POST 电话之一:

发布:

http://localhost:59595/CarInformation/BodyStatusHistory2/

.

Host: localhost:59595
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
DNT: 1
Access-Control-Request-Method: POST
Access-Control-Request-Headers: content-type
Origin: http://localhost:51372
Connection: keep-alive

主体:

{"orders":"6320171074502,6320171074504"}

【讨论】:

    【解决方案2】:

    我修好了:

    使用正确的标题:

    Content-Type: application/x-www-form-urlencoded
    

    public HttpResponseMessage GetBodyStatusHistory2([FromBody] string orders)
    

    成功了

    【讨论】:

      猜你喜欢
      • 2011-06-15
      • 2013-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-01
      • 2014-03-21
      • 1970-01-01
      相关资源
      最近更新 更多