我正在尝试在Java和Spring中通过JHipster学习和使用API优先方法。到目前为止,我已经生成了在OpenAPI 3.0规范中描述我的API的yaml文件,然后我已经生成了Java类(如Controllers和Delegates)以实现Services等。但是到了这一点,我不知道项目的数据库模型(db是PostgreSQL) 。
何时或如何为API添加数据库架构? JHipster应该使用yaml文件为我的项目自动生成Hibernate Entities(它现在还没有),还是应该在其他工具中手动创建数据库模型?还是应该在创建API之前准备好数据库模型?
有没有一种方法可以将OpenAPI转换为Hibernate实体并导入架构?在api-first + Hibernate /数据库模式的上下文中,JHipster中正确的工作流程是什么?
我认为最好的方法是准备好API,然后其余部分自动完成。
我的数据类型在api.yaml中进行了这样的描述:
components:
schemas:
Advert:
description: Advert data type
required:
- id
- title
- description
- ownerId
- phoneNumber
- categoryId
- cityCode
- creationDate
type: object
properties:
id:
description: Id
type: integer
title:
description: Title of advert
type: string
description:
description: Description of advert
type: string
ownerId:
description: Id of owner user.
type: integer
phoneNumber:
description: Advert's phone contact number.
type: number
viewCount:
description: View count.
type: integer
categoryId:
description: Category of advert.
type: integer
images:
description: URLs of images.
type: array
items:
type: string
cityCode:
description: City code.
type: string
creationDate:
description: Creation date.
type: string