- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了一个@RepositoryRestResource
@RepositoryRestResource(collectionResourceRel = "tracks", path = "tracks")
public interface TrackRepository extends PagingAndSortingRepository<TrackEntity, Long> {
}
除了一些其他的@RestController
:
@RestController
@RequestMapping("/api")
public class UserController {
private UserService userService;
@Autowired
public UserController(UserService userService) {
this.userService = userService;
}
@RequestMapping(value = "/users", method = RequestMethod.POST)
public @ResponseBody
User postUser(@Validated @RequestBody Credentials credentials) {
return this.userService.postUser(credentials); // Register user
}
}
在我的aplication.properties中我正在设置
spring.data.rest.base-path=/api
而这是 @SpringBootApplication
入口点:
@SpringBootApplication
@EnableJpaRepositories(basePackages = {"io.app.spring.repository"})
@EnableGlobalMethodSecurity(prePostEnabled = true, proxyTargetClass = true)
@EntityScan(basePackages = "io.app.hibernate.model")
@EnableTransactionManagement
public class Application {
private final static Logger LOGGER = LogManager.getLogger(Application.class);
@PostConstruct
void started() {
TimeZone.setDefault(TimeZone.getTimeZone("Etc/UTC"));
}
@Autowired
public Application(Environment environment) {
LOGGER.info("");
LOGGER.info("Active profiles:");
for (String profile : environment.getActiveProfiles()) {
LOGGER.info(" " + profile);
}
LOGGER.info("");
}
public static void main(String[] args) {
LOGGER.debug("Running application ..");
SpringApplication.run(Application.class, args);
}
}
仍然,我没有在 https://localhost:8443/v3/api-docs 下看到 TrackRepository
的端点.只有来自 UserController
的那些:
..
"/api/users": {
"post": {
"operationId": "postUser",
"requestBody": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/Credentials"
}
}
}
},
"responses": {
"200": {
"description": "default response",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/User"
}
}
}
}
}
}
}
..
我正在使用 Spring Boot 2.2.2.RELEASE
。
这是我正在使用的整个 pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>audio-platform</groupId>
<artifactId>server</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<spring.boot.version>2.2.2.RELEASE</spring.boot.version>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.2.RELEASE</version>
<relativePath/>
</parent>
<dependencies>
<!-- Spring Framework Boot -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.ws</groupId>
<artifactId>spring-ws-core</artifactId>
</dependency>
<!-- Spring Security -->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-jwt</artifactId>
<version>1.0.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.security.oauth</groupId>
<artifactId>spring-security-oauth2</artifactId>
<version>2.3.2.RELEASE</version>
</dependency>
<!-- Spring Docs (Swagger) -->
<!-- TODO After version upgrades check https://github.com/springdoc/springdoc-openapi/issues/133 -->
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-core</artifactId>
<version>1.1.49</version>
<exclusions>
<exclusion>
<groupId>io.github.classgraph</groupId>
<artifactId>classgraph</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.1.49</version>
</dependency>
<dependency>
<groupId>io.github.classgraph</groupId>
<artifactId>classgraph</artifactId>
<version>4.8.44</version>
</dependency>
<!-- Sentry -->
<dependency>
<groupId>io.sentry</groupId>
<artifactId>sentry-spring</artifactId>
<version>1.7.23</version>
</dependency>
<!-- PostgreSQL Driver -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.1.4</version>
</dependency>
<!-- Flyway -->
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-core</artifactId>
</dependency>
<dependency>
<groupId>org.flywaydb.flyway-test-extensions</groupId>
<artifactId>flyway-spring-test</artifactId>
<version>5.0.0</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<!-- Java version -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
</build>
<!-- Dependency Management -->
<dependencyManagement>
<dependencies>
<!-- Import dependency management from Spring Boot -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring.boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
</project>
我已经尝试按照建议添加springfox
依赖项here
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>3.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>3.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-data-rest</artifactId>
<version>3.0.0-SNAPSHOT</version>
</dependency>
但还是不行。
知道这可能是什么原因吗?
最佳答案
请尝试像这样将 @Import(SpringDataRestConfiguration.class)
添加到您的应用程序配置中。
compile('io.springfox:springfox-swagger2:2.7.0')
compile('io.springfox:springfox-data-rest:2.7.0')
compile('io.springfox:springfox-swagger-ui:2.7.0')
@SpringBootApplication
@EnableJpaRepositories(basePackages = {"io.app.spring.repository"})
@EnableGlobalMethodSecurity(prePostEnabled = true, proxyTargetClass = true)
@EntityScan(basePackages = "io.app.hibernate.model")
@EnableTransactionManagement
@Import(SpringDataRestConfiguration.class)//<-- Add thisconfiguration
public class Application {
示例:https://reflectoring.io/documenting-spring-data-rest-api-with-springfox/
关于spring-boot - 为什么 SpringFox 不暴露@RepositoryRestResource?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59868163/
我正在开发一个使用 @RepositoryRestResource 的 spring-boot 项目。 有2个实体,Product & Domain,它们是多对多的关系。 我想实现一个运行复杂查询的自
@Component public class TestInterceptor implements HandlerInterceptor { @Override
前言 我想在一次调用中创建另一个资源的子资源。这些资源有@ManyToMany关系:用户和组。 我不要想先创建一个用户,然后是组,然后是关系,如 Working with Relationships
是否可以将自定义方法添加到 Spring @RepositoryRestResource 并将它们公开为 HTTP 端点,如下面的示例尝试(但失败)那样?或者我必须将自定义方法放在单独的 @Contr
我有我的存储库类,它公开了 REST 接口(interface) @RepositoryRestResource(collectionResourceRel = "user", path = "use
我需要生成具有 spring HAL hateoas 支持和分页的 Rest Api。我看到的是,如果我使用 @Restcontroller,我需要为 _links 和分页逻辑手动编写代码。 如果我使
RepositoryRestResource Spring 中的注释在定义的路径片段上创建端点,例如 @RepositoryRestResource(path = "expenses") 将创建如下端
我有一个基于 spring.io 上的指南的简单 RepositoryRestResource @RepositoryRestResource(collectionResourceRel = "peo
我一直在研究如何将 Spring 与 REST 结合使用的各种示例。我们的最终目标是 Spring HATEOAS/HAL 设置 我在 Spring 中看到了两种不同的渲染 REST 方法 通过 Co
我创建了一个@RepositoryRestResource @RepositoryRestResource(collectionResourceRel = "tracks", path = "trac
我看过this和this question。但是我仍然无法为存储库方法设置页面调度。不知道我是否受到错误的影响或只是没有正确编写此内容。基本上,我在问是否有人可以提供一个示例,说明如何对通过@Repo
我试图为使用 Spring Data Rest 构建的 REST API 设置单元测试。我有一个这样的存储库: @RepositoryRestResource public interface Bee
当我开始使用 spring boot 时,我一直在使用 @Repository 注释我的界面,这些天我一直在遵循相同的方法,但今天我碰巧遇到了另一种称为 @ 的注释方式RepositoryRestRe
我正在尝试创建一个 Spring Boot 应用程序,它将用户/密码组合存储在 MongoDB 的用户文档中。我能够成功设置一个扩展 MongoRepository 的存储库,并且一切正常。现在,我想
我是 Spring Boot 的新手。我试图创建也插入 MongoDB 的 RESTful Web 服务。除此以外,一切正常,如指南所述。 package hello.requests; import
我正在使用 Spring Boot 2.0.2(带有 oAuth2 2.3.3)和 HATEOAS(我有一个依赖文件,表明我正在使用它,即使我的重点不是)来构建 RestAPI。我可以毫无问题地提出请
我正在尝试使用 Spring Boot 指南来使用 @RepositoryRestResource 注释创建 Spring Data Rest 端点。我观察到,在指南中,他们没有指定我们使用除 @Re
如何指定 @RepositoryRestResource 仅在 mime-type 为 application/json 时指定响应? @RequestMapping 示例 GET-Request w
我似乎无法将我的存储库映射到以下位置以外的任何位置: @RepositoryRestResource(collectionResourceRel = "item", path = "item") pu
我正在尝试使用 RepositoryRestResource 和 RestTemplate 实现 rest api> 一切都很好,除了加载@DBRef 的 考虑这个数据模型: public class
我是一名优秀的程序员,十分优秀!