与之相反:从Swagger/OpenAPI生成Spring MVC控制器
我需要将我的Spring Boot项目与远程服务器集成,以公开Swagger OpenAPI。我可以成功下载《狂妄自大》。jsondescriptor,但我希望在为许多Java方法生成REST存根方面获得一些自动帮助。我用的是Gradle。我更喜欢大摇大摆地做。json
到我的项目中,既可以脱机构建(远程服务不公开),又可以利用Gradle的输入缓存。
到目前为止,我可以利用Gradle的招摇过市生成器来完成大部分工作。
我可以试试
apply plugin: 'org.hidetake.swagger.generator'
dependencies {
swaggerCodegen 'io.swagger.codegen.v3:swagger-codegen-cli:3.0.5' // or Swagger Codegen V3
swaggerCodegen 'org.openapitools:openapi-generator-cli:3.3.4' // or OpenAPI Generator
}
swaggerSources {
remoteservice{
inputFile = file("${project.rootDir}/gradle/swagger-remoteservice.json")
code {
language = 'spring'
}
}
}
输出是build/swagger-code-remoteservice
中一个成熟的Gradle-Spring-Boot项目,其中还包含一个Spring-Boot可执行文件。
我必须复制我感兴趣的部分:
*Api
接口然后,我必须实现一个Spring服务,利用RestTemboard来执行Swagger操作。由于有许多操作要执行,这将需要时间。
我必须编写的附加代码
public class ApiRestImpl implements Api, InitializingBean {
private RestOperations restTemplate;
@Override
public void afterPropertiesSet() throws Exception {
restTemplate = new RestTemplateBuilder()
... //authorization
.build();
}
@Override
public ResponseEntity<Item> getById(Integer id, Boolean bool) {
UriComponentsBuilder uriBuilder = UriComponentsBuilder.fromHttpUrl(properties.getUrl() + "/api/v1/Items/{id}")
.queryParam("bool", bool
return restTemplate.getForEntity(
uriBuilder.toUriString(),
Item.class,
id
);
}
}
我希望生成一个完全(或几乎完全)工作的客户端,可能基于restemplate
。我可以在自己的调用代码中集成一些东西来执行REST操作。
我可以看到Spring Boot项目使用一个build/generated
目录,该目录包含在类路径中
在这种情况下,我不喜欢在运行时生成并最终扫描控制器,所以我不得不将输出复制到源目录。
您可以尝试使用OpenAPI gradle插件。java
客户端生成器有一个库选项“restemplate
”。
我被要求为一门大学课程实现一些gRPC类,在从一个源proto文件生成java类时遇到了一些问题。 首先是一些背景知识:这是一项相当基本的服务,有一个简单的方法,可以接收id并返回电话和电子邮件。这是原始文件(BuscarData表示获取数据,很抱歉没有翻译完!): 我的想法是用gradle插件生成类。我的身材。格拉德尔: 据我所知,一切都在那里:grpc和protoc依赖项,以及使protoc能
我正在尝试将QueryDSL、Gradle和Springboot集成到title的版本中。我将annotationProcessors添加到gradle中,但Intellij仍然没有生成QClasses。我尝试了社区的建议来使用插件“gradle”。插件。通用域名格式。埃沃克。格拉德尔。插件:querydsl plugin'但这没有帮助。
Spring RestDocs可用于为具有Spring MockMvc或RestEasy的HTTP API生成文档(例如,asciidoctor格式)。在生成API文档的同时,还可以使用Spring Cloud Contract WireMock生成WireMock存根。只需编写正常的RestDocs测试用例,并使用@AutoConfigureRestDocs在restdocs输出目录中自动存储存
OSGI-INF/serviceComponent.xml可以使用maven scr felix插件通过添加依赖项生成,如 但对于格雷德尔来说,我无法生成。。我已尝试添加 这是一个错误。捷豹路虎主页。找不到gradle。 我做错了什么??? 基本上,我需要依赖项来添加gradle以生成servicecomponent。xml
Java11已经取消了对JAXB和xjc等工具的支持,这些工具从XSD模式生成Java文件。我在Gradle中找不到很多xjc代的例子,并尝试了一些选项,但到目前为止运气不佳。另外,在SpringBootGradle项目中应该添加哪些依赖项来提供对JAXB的全面支持?