如何使用从Spring Boot REST API生成的Angular客户端?

如何使用从Spring Boot REST API生成的Angular客户端?,angular,spring-boot,openapi-generator,Angular,Spring Boot,Openapi Generator,最后,我使用openapi生成器maven插件生成了一个Angular客户端 我必须进行一些调整,例如使用不同的依赖项 org.springdoc springdoc openapi核心 1.1.49 io.github.classgraph 类图 org.springdoc springdoc openapi用户界面 1.1.49 io.github.classgraph 类图 4.8.44 还必须添加一些参数,例如数据库驱动程序等: 有棱角的 org.codehaus.mojo 构建助

最后,我使用
openapi生成器maven插件
生成了一个Angular客户端

我必须进行一些调整,例如使用不同的依赖项


org.springdoc
springdoc openapi核心
1.1.49
io.github.classgraph
类图
org.springdoc
springdoc openapi用户界面
1.1.49
io.github.classgraph
类图
4.8.44
还必须添加一些参数,例如数据库驱动程序等:


有棱角的
org.codehaus.mojo
构建助手maven插件
3.0.0
预留tomcat端口
预留网络端口
过程资源
tomcat.http.port
org.springframework.boot
springbootmaven插件
预集成测试
开始
整合后测试
停止
真的
--server.port=${tomcat.http.port}
--spring.profiles.active=角度
jdbc:postgresql://localhost/mydatabase
博士后
根
org.openapitools
openapi生成器maven插件
4.2.2
角度客户端代码生成
集成测试
生成
http://localhost:${tomcat.http.port}/v3/api文档
${project.build.directory}/generated sources/angular client
字体角度
但是现在,代码生成后,我无法按照(生成的)README.md中发布的说明进行操作:

@ 建筑 安装所需的依赖项并构建typescript 资料来源:

npm install 
npm run build 
出版 首先构建包,然后运行
npm publish

消费 导航到消费项目的文件夹并运行下一个文件夹 命令

出版:

npm安装@--保存

原因是:没有package.json,因此也没有可以首先执行的“构建”脚本

因此,我想知道是否遗漏了什么,或者我必须做些什么才能在Angular客户端中使用生成的代码。

我在中找到了答案

我必须为
openapi生成器maven插件设置
tmsclienterst


org.openapitools
openapi生成器maven插件
4.2.2
角度客户端代码生成
集成测试
生成
http://localhost:${tomcat.http.port}/v3/api文档
${project.build.directory}/generated sources/angular client
字体角度
restClientName
0.0.1
注意:在我的例子中,我还必须添加
npmVersion
使其“工作”(它仍然不工作,只是进入下一期)

更新:

如果你得到像

models.ts
不是一个模块

这可能是因为您还没有任何DTO对象。在我的例子中,我只有一个返回简单字符串的简单REST控制器。只需确保您返回(至少)一个虚拟对象,model.ts将填充代码,并且
npm安装和&npm运行构建最终应能工作,例如:

公共静态类HealthInfoDto{
publicstring message=“我还活着,你看?”;
}
@RequestMapping(value=“/health”,method=RequestMethod.GET)
public@ResponseBody HealthInfoDto getHealth(){
返回新的HealthInfoDto();
}
而不仅仅是

@RequestMapping(value=“/health”,method=RequestMethod.GET)
public@ResponseBody字符串getHealth(){
返回“你好,世界!”;
}