gpt4 book ai didi

c# - 不支持的 API 版本与 URI 中的版本 — 怎么了?

转载 作者:行者123 更新时间:2023-11-30 15:14:28 25 4
gpt4 key购买 nike

我有一个使用 .net core 2.2 的 Web API 项目(也许有问题。)

路由正在等待 OpenIdDict 的 OAuth 授权,但这对我来说完全没问题。我正在尝试一种非常简单的方法:

startup.cs 仅包含:

services.AddApiVersioning();

API Controller 具有三个不同的路由用于测试目的。请注意, Controller 本身没有 [Route()] 或 [ApiVersion()] 注释。

[HttpGet]
[Authorize]
[ApiVersion("2.0")]
[Route("api/v{version:apiVersion}/vt")]
public IActionResult GetVt20()
{
return Ok("2.0");
}

[HttpGet]
[Authorize]
[ApiVersion("1.0")]
[Route("api/v{version:apiVersion}/vt")]
public IActionResult GetVt10()
{
return Ok("1.0");
}

如果我做一个授权请求,比如

http://localhost:27713/api/v1.0/vt

.net 核心用 BadRequest 回答:

{"error":{"code":"UnsupportedApiVersion","message":"The HTTP resource that matches the request URI 'http://localhost:27713/api/v1.0/vt' does not support the API version '1.0'.","innerError":null}}

我错过了什么?

最佳答案

我在从 2.1 net core 迁移到 2.2 时遇到了同样的问题只需添加到您的 Controller 类 [ApiController] 属性

Github Issue

关于c# - 不支持的 API 版本与 URI 中的版本 — 怎么了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54631340/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com