我可以让aws无服务器java容器与Swagger一起工作吗?
我使用的是Spring Boot,我希望有像这样的Swagger交互式文档 我可以从AWS Lambda动态提供它,或者在编译期间生成OpenAPI规范,然后将其上传到AWS S3 不幸的是,当我添加到build.gradle时:我可以让aws无服务器java容器与Swagger一起工作吗?,java,amazon-web-services,aws-lambda,swagger,serverless,Java,Amazon Web Services,Aws Lambda,Swagger,Serverless,我使用的是Spring Boot,我希望有像这样的Swagger交互式文档 我可以从AWS Lambda动态提供它,或者在编译期间生成OpenAPI规范,然后将其上传到AWS S3 不幸的是,当我添加到build.gradle时: compile('io.springfox:springfox-swagger2:2.7.0') compile('io.springfox:springfox-swagger-ui:2.7.0') 此配置代码用于Swagger配置类: @Configuration
compile('io.springfox:springfox-swagger2:2.7.0')
compile('io.springfox:springfox-swagger-ui:2.7.0')
此配置代码用于Swagger配置类:
@Configuration
@EnableSwagger2
public class SwaggerConfiguration {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.basePackage("com.example.mypackage.controller"))
.paths(PathSelectors.any())
.build();
}
}
我无法在此url访问我的招摇过市用户界面:。我找不到404
但是,我可以在以下url访问OpenAPI规范:。虽然当我将我的应用程序上传到AWS Lambda时,这个url(/v2/api docs
)不起作用(404未找到)
那么,如何让它在AWS Lambda上工作,或者如何在编译过程中生成它以用于S3上传?这个答案对您来说可能太晚了。但是,我怀疑这与SAM模板中如何配置函数的事件有关。为了接受对API根目录的请求,您需要添加额外的ANY方法映射:
Events:
RootResource:
Type: Api
Properties:
Path: /
Method: ANY
OtherResources:
Type: Api
Properties:
Path: /{proxy+}
Method: ANY