【问题标题】:how to add multiple http get methods with id as param?如何添加多个以 id 为参数的 http get 方法?
【发布时间】:2015-08-04 19:18:58
【问题描述】:

我正在编写 Web API,并且必须添加 two get methodid as parameter

第一个api方法:

[Route("{id}")]
    public IHttpActionResult GetItem(int id) {
        // some code
    }

第二个api方法:

[Route("clientid/{id}")]
    public IHttpActionResult GetItemByClientID(int id) {
        // some code 
    }

ajax 调用:

$http({
       url: 'api/mycontroller/clientid',
       method: 'get',
       params: { id: id }
})

但是它调用了第一个 api 方法,那么我该如何调用我的第二个 api 方法呢?

提前致谢。

【问题讨论】:

    标签: ajax asp.net-web-api


    【解决方案1】:

    调用第二个api方法,

    [Route("clientid/{id}")]
    public IHttpActionResult GetItemByClientID(int clientId) {
        // some code 
    }
    

    我对 ajax 调用进行了更改:

    $http({
       url: 'api/mycontroller/clientid/id?clientId='+id,
       method: 'get'
    })
    

    Route["clientid/{id}"] 将路由设为clientid/id 后跟参数clientId

    所以 ajax url 就像'api/mycontroller/clientid/id?clientId='+id

    【讨论】:

      【解决方案2】:

      在 GET 请求中,您可以这样做,而不是传递 params

      $http({
             url: 'api/mycontroller/clientid?id='+id,
             method: 'get',
      })
      

      【讨论】:

      • 这与传递 params : { id : id } 相同,http 调用与 http://localhost/api/mycontroller/clientid?id=1 相同
      猜你喜欢
      • 1970-01-01
      • 2021-11-14
      • 2012-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多