Я новичок в 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) { ... }
Проблема заключалась в том, что шлюз Azure API все еще был настроен на использование PUT, а не GET.
Прежде всего, вы пропустили «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)