代码之家  ›  专栏  ›  技术社区  ›  David Klempfner

swagger为datetime生成字符串

  •  0
  • David Klempfner  · 技术社区  · 5 年前

    我有这个动作方法:

    [HttpGet]
    public async Task<ActionResult<Agent[]>> Get(DateTime? lastModified = null) {}
    

    我可以看到下面的swagger json是使用swashbucker.aspnetcore v4.0.1生成的:

    "parameters":[{"name":"lastModified","in":"query","required":false,"type":"string","format":"date-time"}]
    

    为什么是这种类型 string ? 不是吗 DateTime ?

    0 回复  |  直到 5 年前
        1
  •  0
  •   Ryan    5 年前

    openapi定义了以下基本类型:string、number、integer、boolean、array、object,没有datetime。

    这个 string 类型包括日期和文件以及 date-time 格式是字符串格式之一。

    参考

    https://swagger.io/docs/specification/data-models/data-types/

    https://swagger.io/specification/#dataTypes