我们要求使用以下注释来注释日期时间字段:
@Type("DateTime<'Y-m-d\TH:i:sP'>")
有人可以建议如何使用摇摇欲坠的代码生成来实现此目标。代码库是PHP。 当前字段定义如下:
created:
type: "string"
format: "date-time"
description: "Date client details first appeared in the system."
default: null
必填输出:
/**
* Date client details first appeared in the system.
*
* @var \DateTime|null
* @SerializedName("createdDate")
* @Assert\DateTime()
* @Type("DateTime<'Y-m-d\TH:i:sP'>")
*/
protected $createdDate;
昂首阔步的代码生成了什么
/**
* Date client details first appeared in the system.
*
* @var \DateTime|null
* @SerializedName("createdDate")
* @Assert\DateTime()
* @Type("DateTime")
*/
protected $createdDate;
答案 0 :(得分:0)
Swagger Codegen使用Moustache模板生成代码。例如,您的示例中的PHP注释在以下模板中定义:
您可以修改这些模板以自定义输出。
将上面的模板下载到您的计算机上,并根据需要更改日期时间注释。然后使用-t
参数运行代码生成,以指定自定义模板的路径:
java -jar swagger-codegen-cli-2.4.4.jar generate
-i http://petstore.swagger.io/v2/swagger.json
-l php-symfony
-o petstore_php_server
-t path/to/MyTemplates <------
将使用-t
文件夹中找到的任何自定义模板代替相应的标准模板。在-t
文件夹中找不到的模板将默认为标准模板。