- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的 API 使用 DateTime?
公开了一些端点和其他人 DateTimeOffset?
.
我想使用 OpenApi-Generator 生成一个 API 客户端,它将为每个端点创建客户端代码,并尊重类型之间的差异。
OpenApi-Generator 提供了 useDateTimeOffset=true
的选项,这将使用 DateTimeOffset
生成客户端无论 API 是否公开 DateTime
都无处不在或 DateTimeOffset
.因此,我不想使用它。
因此,为了在没有那个的情况下解决需求,我尝试创建一个过滤器,我将在其中指定 DateTimeOffset?
的情况生成器应使用类型 DateTimeOffset
并使其成为nullable
.
这是过滤器:
public class FixDateTimeOffsetTypeSchemaFilter : ISchemaFilter
{
public void Apply(OpenApiSchema model, SchemaFilterContext context)
{
if (context.Type == typeof(DateTimeOffset?))
{
model.Format = "date-time-offset-nullable";
model.Type = "DateTimeOffset";
model.Nullable = true;
}
}
}
这是输出的一个例子:
"/Api/MyApiEndpoint": {
"get": {
"tags": [
"General"
],
"operationId": "General_MyApiEndpoint",
"parameters": [
{
"name": "startDatetime",
"in": "query",
"schema": {
"type": "DateTimeOffset",
"format": "date-time-offset-nullable",
"nullable": true
}
},
当我运行它并从该 JSON 生成客户端时,DateTimeOffset
对象永远不会 nullable
.它似乎不遵守该指令。
我需要更改什么才能使其工作,以便在我指定 DateTimeOffset
时应该是 nullable
, 它显示为 nullable
在代码中?
最佳答案
看起来这是一个已知问题: https://github.com/OpenAPITools/openapi-generator/pull/3530
另请检查此链接:https://jane.readthedocs.io/en/latest/tips/nullable.html
关于swagger - 如何让 OpenApi-Generator 生成可为 null 的 DateTimeOffset?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68825396/
我是一名优秀的程序员,十分优秀!