将Spring Data Rest添加到JHipster生成的项目后,如何使这些Rest api除了在控制器级别上的api之外还可以查看?
@RepositoryRestResource(collectionResourceRel = "api/myEntities", path = "api/myEntites")
我也尝试"/api/myEntities"。
在Spring Data Rest中,我将能够看到像
这样的Rest api/api/myEntities/search/<method name>
下面是我的项目中的SwaggerConfiguration类。我不知道如何自定义它来显示Spring Data Rest的api。
@Configuration
@EnableSwagger2
@Profile("!"+Constants.SPRING_PROFILE_PRODUCTION)
public class SwaggerConfiguration implements EnvironmentAware {
private final Logger log = LoggerFactory.getLogger(SwaggerConfiguration.class);
public static final String DEFAULT_INCLUDE_PATTERN = "/api/.*";
private RelaxedPropertyResolver propertyResolver;
@Override
public void setEnvironment(Environment environment) {
this.propertyResolver = new RelaxedPropertyResolver(environment, "swagger.");
}
/**
* Swagger Springfox configuration.
*/
@Bean
public Docket swaggerSpringfoxDocket() {
log.debug("Starting Swagger");
StopWatch watch = new StopWatch();
watch.start();
Docket docket = new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.genericModelSubstitutes(ResponseEntity.class)
.forCodeGeneration(true)
.genericModelSubstitutes(ResponseEntity.class)
.directModelSubstitute(org.joda.time.LocalDate.class, String.class)
.directModelSubstitute(org.joda.time.LocalDateTime.class, Date.class)
.directModelSubstitute(org.joda.time.DateTime.class, Date.class)
.directModelSubstitute(java.time.LocalDate.class, String.class)
.directModelSubstitute(java.time.ZonedDateTime.class, Date.class)
.directModelSubstitute(java.time.LocalDateTime.class, Date.class)
.select()
.paths(regex(DEFAULT_INCLUDE_PATTERN))
.build();
watch.stop();
log.debug("Started Swagger in {} ms", watch.getTotalTimeMillis());
return docket;
}
/**
* API Info as it appears on the swagger-ui page.
*/
private ApiInfo apiInfo() {
return new ApiInfo(
propertyResolver.getProperty("title"),
propertyResolver.getProperty("description"),
propertyResolver.getProperty("version"),
propertyResolver.getProperty("termsOfServiceUrl"),
propertyResolver.getProperty("contact"),
propertyResolver.getProperty("license"),
propertyResolver.getProperty("licenseUrl"));
}
}
In xx.xx.config.apidoc.SwaggerConfiguration.java
下面是包含在SwaggerConfiguration中的默认模式,它将在您的管理选项卡中显示API。
public static final String DEFAULT_INCLUDE_PATTERN = "/api/.*";
和来自同一类的下一行
.paths(regex(DEFAULT_INCLUDE_PATTERN))
添加上述模式。
所以您可以添加另一个您自己的,检查Spring Data Rest
api模式。并将该api模式添加到paths()
函数中,如上面所示。
我在这里与 jhipster 2.18.0