Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用OpenAPI4J解析器以编程方式创建OpenAPI模式组件?_Java_Openapi - Fatal编程技术网

Java 如何使用OpenAPI4J解析器以编程方式创建OpenAPI模式组件?

Java 如何使用OpenAPI4J解析器以编程方式创建OpenAPI模式组件?,java,openapi,Java,Openapi,我需要以编程方式创建OpenAPI JSON文件,因为我的端点与数据库中的表有一对一的映射。我需要创建需要在响应对象中引用的组件(模式)。我无法创建OAI3Context对象,因为我没有需要作为参数传递的URL mypom.xml中的OpenAPI4J Maven条目: org.openapi4j openapi解析器 1.0.7 我想以编程方式制作的示例openapi.json文件: { “openapi”:“3.0.2”, “信息”:{ “联系人”:{ “电子邮件”:johndoe@TE

我需要以编程方式创建OpenAPI JSON文件,因为我的端点与数据库中的表有一对一的映射。我需要创建需要在响应对象中引用的组件(模式)。我无法创建
OAI3Context
对象,因为我没有需要作为参数传递的URL

my
pom.xml
中的OpenAPI4J Maven条目:


org.openapi4j
openapi解析器
1.0.7
我想以编程方式制作的示例openapi.json文件:

{
“openapi”:“3.0.2”,
“信息”:{
“联系人”:{
“电子邮件”:johndoe@TEST.com",
“姓名”:“约翰·多伊”,
“url”:”https://www.TEST.com/api/support"
},
“说明”:“基于OpenAPI 3.0.2规范的测试API。”,
“许可证”:{
“名称”:“测试公司”,
“url”:”https://www.TEST.com/licences/LICENSE-2.0.html"
},
“服务条款”:https://www.TEST.com/api/terms",
“标题”:“测试API-OpenAPI 3.0.2”,
“版本”:“1.0.0”
},
“服务器”:[
{
“url”:”http://localhost:8080/TEST-REST/api/“,
“说明”:“说明1”
}
],
“标签”:[
{
“名称”:“连接”,
“说明”:“连接管理API”,
“外部文档”:{
“说明”:“连接管理API”,
“url”:”http://www.TEST.com"
}
},
{
“名称”:“REST API”,
“描述”:“测试的非积垢API”,
“外部文档”:{
“描述”:“测试的非积垢API”,
“url”:”http://www.TEST.com"
}
},
{
“名称”:“对象”,
“说明”:“在所选表上测试积垢操作”,
“外部文档”:{
“说明”:“CRUD API测试。可在所选表格上完成”,
“url”:”http://www.TEST.com"
}
}
],
“路径”:{
“/rest/authenticate”:{
“描述”:“验证并获取令牌”,
“摘要”:“验证并获取连接令牌”,
“获取”:{
“标签”:[
“连接”
],
“操作ID”:“身份验证”,
“参数”:[
{
“必需”:正确,
“模式”:{
“说明”:“要连接的测试数据源”,
“类型”:“字符串”
},
“在”:“查询”,
“名称”:“用户名”
},
{
“必需”:正确,
“模式”:{
“说明”:“用户密码”,
“类型”:“字符串”
},
“在”:“查询”,
“名称”:“密码”
},
{
“必需”:正确,
“模式”:{
“说明”:“要连接的测试数据源”,
“类型”:“字符串”
},
“在”:“查询”,
“名称”:“数据源”
},
{
“必需”:正确,
“模式”:{
“说明”:“要连接的测试服务”,
“类型”:“字符串”
},
“在”:“查询”,
“名称”:“服务”
},
{
“必需”:false,
“模式”:{
“说明”:“用户角色”,
“类型”:“字符串”
},
“在”:“查询”,
“名称”:“角色”
}
],
“答复”:{
"200": {
“说明”:“成功连接”,
“内容”:{
“应用程序/json”:{
“模式”:{
$ref:“#/components/schemas/connection”
}
},
“应用程序/xml”:{
“模式”:{
$ref:“#/components/schemas/connection”
}
}
}
},
"405": {
“说明”:“无效输入”
}
}
}
}
},
“组成部分”:{
“模式”:{
“联系”:{
“必需”:[
“康妮”
],
“类型”:“对象”,
“财产”:{
“康妮”:{
“类型”:“字符串”,
“示例”:“TEST1_107c5a8c1799d4cf8bb5ce295ab38954”
}
}
}
}
}
}
我的Java代码:

package vish.api.test2;
导入org.openapi4j.core.exception.EncodeException;
导入org.openapi4j.parser.model.SerializationFlag;
导入org.openapi4j.parser.model.v3.*;
导入java.io.File;
导入java.io.FileNotFoundException;
导入java.io.FileOutputStream;
导入java.io.IOException;
导入java.nio.charset.StandardCharset;
导入java.util.*;
公共类OpenAPICreator{
公共静态void main(字符串[]args){
试一试{
OpenApi3 OpenApi3=新的OpenApi3();
openApi3.setOpenapi(“3.0.2”);
信息=新信息();
openApi3.setInfo(info);
信息集标题(“vish API-OpenAPI 3.0.2”);
setDescription(“基于OpenAPI 3.0.2规范的vish API”);
信息设置服务(“https://www.vish.com/api/terms");
触点=新触点();
联系人:setName(“Avik Chatterjee”);
contact.setEmail(“achatterjee@vish.com");
contact.setUrl(“https://www.vish.com/api/support");
信息。设置联系人(联系人);
组件=新组件();
Schema=newschema();
组件。设置模式(“测试”,模式);
Schema schema2=新模式();
setProperty(“test2”,schema2);
openApi3.setComponents(组件);
字符串canonicalRef=schema2.getCanonicalRef();
System.out.println(“canonicalRef=“+canonicalRef”);
许可证=新许可证();
许可证。setName(“维斯公司”);
license.setUrl(“https://www.vish.com/licences/LICENSE-2.0.html");
信息。设置许可证(许可证);
信息设置版本(“1.0.0”);
ExternalDocs ExternalDocs=新的ExternalDocs();
externalDocs.setDescription(“vish API说明”