我已经按照swagger/openapi 3.0标准在.yaml文件中定义了api文档/端点。在这个.yaml文件中,我使用了swaggerhub/smartbear的codegen工具来为客户机sdkjava项目生成代码。已成功生成具有以下结构的项目代码:
- docs
- gradle
- lib
- src
- main
- java
- io.swagger.client
- api
- RouteApi
- myApi.yaml
- auth
- ApiKeyAuth
- Authentication
- HttpBasicAuth
- OAuth
- OAuthFlow
- model
- Input
- ModelApiResponse
- Route
- ApiCallback
- ApiClient
- ApiException
- ApiResponse
- Configuration
- GzipRequestInterceptor
- JSON
- DateTypeAdapter
- LocalDateTypeAdapter
- OffsetDateTimeTypeAdapter
- SqlDateTypeAdapter
- Pair
- ProgressRequestBody
- ProgressRequestListener
- ProgressResponseBody
- ProegressListener
- AndroidMainfest.xml
- test
- target
- pom.xml
- swagger-java-client-iml
- README.md
生成的项目的结构相当复杂,我不确定如何以及在何处实现自定义java逻辑以处理api请求。简单来说,我需要接收一些字符串参数,然后输出一些字符串参数。
此外,我不知道如何在intellij idea中运行/发布生成的api,intellij idea是我当前使用的ide。
自述文件建议我运行以下java代码:
import io.swagger.client.*;
import io.swagger.client.auth.*;
import io.swagger.client.model.*;
import io.swagger.client.api.RouteApi;
import java.io.File;
import java.util.*;
public class RouteApiExample {
public static void main(String[] args) {
RouteApi apiInstance = new RouteApi();
List<Input> body = Arrays.asList(new Input()); // List<Input> | List of input object
try {
apiInstance.createRoutesWithArrayInput(body);
} catch (ApiException e) {
System.err.println("Exception when calling RouteApi#createRoutesWithArrayInput");
e.printStackTrace();
}
}
}
但这只是编译没有结果。
总之,如果您有任何关于使用smartbear的codegen工具在java中从openapi3.0/swagger文档生成的API中实现自定义逻辑的资源、建议或教程,我将不胜感激。
暂无答案!
目前还没有任何答案,快来回答吧!