webapi2绑定不起作用

时间:2018-06-29 19:27:12

标签: c# asp.net-web-api2

我是webapi 2的新手,并试图将我的api绑定到下面的此调用。

任何人都可以看到我在做什么吗?

致电: https://blabla.azurewebsites.net/myjohndeere/authenticated/e33dd8f74c97474d86c75b00dd28ddf8?oauth_token=1539dccf-d935-4d9e-83be-e00f76cabbb9&oauth_verifier=B22dWL

[RoutePrefix("myjohndeere")]
public class ApiMyJohnDeereController : ApplicationController
{

    [HttpGet, Route("authenticated/{callbackId}")]
    [SwaggerResponse(HttpStatusCode.OK, Type = typeof(ApiResponseModel))]
    [SwaggerResponse(HttpStatusCode.InternalServerError, "An unknown error occurred")]
    [SwaggerResponse(HttpStatusCode.BadRequest, "Missing FieldMappings")]
    public IHttpActionResult Authenticated(string callbackId,[FromUri]string oauth_token, [FromUri]string oauth_verifier)
    {
        ...
    }

2 个答案:

答案 0 :(得分:0)

首先,您错过了路线中的“ api”。

尝试一下

  

https://blabla.azurewebsites.net/api/myjohndeere/authenticated/e33dd8f74c97474d86c75b00dd28ddf8?oauth_token=1539dccf-d935-4d9e-83be-e00f76cabbb9&oauth_verifier=B22dWL

然后,从控制器方法中删除FromUri属性。仅读取值类型的查询字符串时不需要该属性。

尝试一下

public IHttpActionResult Authenticated(string callbackId, string oauth_token, string oauth_verifier)

答案 1 :(得分:0)

问题是Azure API网关仍设置为使用PUT而不是GET。