我使用Spring Boot 1.5.8和Springfox 2.8.0。我在我的PagingAndSortingRepository中添加了一个标签,试图在"主题操作"下组织所有的crud方法。在Swagger UI中进行标题。
然而,最终结果是某些方法出现在主题实体:简单Jpa存储库标题下,例如,
GET / api /臣/ {id} / images subjectImages
POST / api / subjects / {id} / images subjectImages
......等等
其余方法位于主题操作
下GET / api / subject findAllSubject
POST / api / subject saveSubject
..等等。
看起来Spring正在为外键相关数据生成方法,例如: / subject / images,没有在标签下移动,但我不确定如何纠正这种情况?
@CrossOrigin(origins = "http://localhost:3000")
@RepositoryRestResource(collectionResourceRel = "subjects", path = "subjects", excerptProjection = SubjectView.class)
@Api(tags = { "Subject Operations" })
public interface SubjectRepository extends PagingAndSortingRepository<Subject, Integer> {
@Query("select distinct s from Subject s "
+ "join s.images si "
+ "where si.dataset.id = ?1")
Page<Subject> findByDatasetId(Pageable pagable, @Param("datasetId") int datasetId);
}
答案 0 :(得分:0)
在存储库中定义标签,然后以大胆的配置创建它。标签名称作为标准标签“ * Entity”。这对我有用:
@Api(tags = "Channel Entity")
@RepositoryRestResource
public interface ChannelRepository extends JpaRepository<Channel, Long> {
..
}
昂扬的配置:
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo()).select()
.apis(RequestHandlerSelectors.any())
.paths(..))
.build()
.tags(new Tag("Channel Entity", "Data-rest endpoints"))
}