下面是使用的NuGet版本。
PackageReference include=“Microsoft.aspnetcore.mvc.versioning”version=“2.3.0”PackageReference include=“Microsoft.aspnetcore.mvc.versioning.apiexplorer”version=“2.2.0”PackageReference include=“swashbuckle.aspnetcore”version=“3.0.0”
startup.cs
services.AddApiVersioning(o =>
{
o.ReportApiVersions = true;
o.DefaultApiVersion = new Microsoft.AspNetCore.Mvc.ApiVersion(1, 0);
o.AssumeDefaultVersionWhenUnspecified = true;
o.ErrorResponses = new DefaultErrorResponseProvider();
});
[ApiVersion("2.0")]
[ApiController]
[Route("api/v{version:apiVersion}/[Controller]")]
public class DemoTest : ControllerBase
{
[HttpGet]
public IActionResult Get()
{
return new JsonResult(new { ResourceName = "DemoTestAPIController Version 2" });
}
}
http://localhost:53858/api/v2.0/demotest(此URL有效,响应应为200,并且按预期工作)
http://localhost:53858/api/v3.0/demotest
services.AddApiVersioning(o =>
{
o.ReportApiVersions = true;
o.DefaultApiVersion = new Microsoft.AspNetCore.Mvc.ApiVersion(1, 0);
o.AssumeDefaultVersionWhenUnspecified = true;
o.ErrorResponses = new MyErrorResponseProvider();
});
MyerrorResponseProvider
class MyErrorResponseProvider : DefaultErrorResponseProvider
{
// note: in Web API the response type is HttpResponseMessage
public override IActionResult CreateResponse( ErrorResponseContext context )
{
html" target="_blank">switch ( context.ErrorCode )
{
case "UnsupportedApiVersion":
context = new ErrorResponseContext(
context.Request,
context.StatusCode,
context.ErrorCode,
"My custom error message.",
context.MessageDetail );
break;
}
return base.CreateResponse( context );
}
}
下面的代码为我工作
我使用的是3.1.6版本
<PackageReference Include="Microsoft.AspNetCore.Mvc.Versioning" Version="3.1.6" />
我的Startup.cs
public void ConfigureServices(IServiceCollection services)
{
services.AddApiVersioning(options =>
{
options.ReportApiVersions = true;
options.AssumeDefaultVersionWhenUnspecified = true;
options.DefaultApiVersion = new ApiVersion(1, 0);
});
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
}
我的控制器
[ApiVersion("1.0")]
[ApiExplorerSettings(GroupName = "v1")]
[Route("api/v{version:apiVersion}/[controller]")]
[ApiController]
public class ValuesController : ControllerBase
如果我尝试使用v2,我将得到这个错误
error: {
code: "UnsupportedApiVersion",
message: "The HTTP resource that matches the request URI 'http://localhost:61273/api/v2/values' does not support the API version '2'.",
innerError: null
}
GetFolder操作给了我同样的结果。 此错误通常由未经许可的邮箱帐户引起。但我的所有用户都有活跃的Exchange许可证。为什么我会得到这样的ErrorNonExistentMailbox错误响应?
我正在尝试进行rest api调用,但一直收到。从日志中可以看出,我的POJO的字段之一似乎存在问题。 我的POJO: 在我的中 运行上述代码时,我得到以下错误:
我公开了一个。NET API,运行在IIS服务器上。有一个每晚执行的Windows计划任务。它运行一个cURL请求。当我复制该命令并在cmd窗口中执行它时,它返回401。 我在Postman中尝试了相同的api调用,得到了200。 IIS日志显示: cUrl命令和Postman实例都在服务器上运行。运行API的同一台。我是不是错过了邮递员做的事情,我需要让卷毛做的事情?
问题内容: 编辑:在这段代码上发生错误: 我正在使用Node js的gmail api。当我阅读他们的快速入门指南时,我会不断收到此错误。 https://developers.google.com/gmail/api/quickstart/nodejs 请记住,我使用电子邮件地址进行了快速入门,一切都很好。完全没有错误。我决定为测试目的创建一个虚拟电子邮件。我所做的唯一更改是关闭了文件以保留新的
Versioning Scrapy uses the odd-numbered versions for development releases. There are 3 numbers in a Scrapy version: A.B.C A is the major version. This will rarely change and will signify very large ch
我在Spring中有REST API作为后端,Angular 2作为前端。