- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图了解如何使用 @QuerydslPredicate
但我的测试 API 在调用时失败了:
Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.IllegalStateException: No primary or default constructor found for interface com.querydsl.core.types.Predicate] with root cause
java.lang.NoSuchMethodException: com.querydsl.core.types.Predicate.< init >()
这是我的 Controller 类中的方法:
@ResponseBody
@RequestMapping(value = "/user/query", method = RequestMethod.GET)
public Iterable<User> getByCriteria(@QuerydslPredicate(root = User.class) Predicate predicate)
{
return this.userDao.getByCriteria(predicate);
}
我用过 this Spring 博客文章和this example尝试实现我的 API,但我不明白我做错了什么。
编辑 #1
pom.xml:
<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>com.example</groupId>
<artifactId>email-encrypt</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>jar</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.2.RELEASE</version>
</parent>
<name>email-encrypt</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<querydsl.version>4.1.4</querydsl.version>
<springfox.version>2.6.1</springfox.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.59</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk15on</artifactId>
<version>1.59</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcmail-jdk15on</artifactId>
<version>1.59</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
<version>${querydsl.version}</version>
</dependency>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-jpa</artifactId>
<version>${querydsl.version}</version>
</dependency>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<version>10.14.1.0</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${springfox.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${springfox.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.20</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.20</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>com.mysema.maven</groupId>
<artifactId>apt-maven-plugin</artifactId>
<version>1.1.3</version>
<executions>
<execution>
<goals>
<goal>process</goal>
</goals>
<configuration>
<outputDirectory>${build.directory}/generated-sources/java</outputDirectory>
<processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
编辑 #2
我创建了一个示例项目 here .
最佳答案
如果您在 swagger 配置类上注释掉 @Configuration,它将起作用。我仍在尝试理解为什么,我猜想使用该注释时 spring 加载配置的方式是不同的,这是导致问题的原因。
//@Configuration
@EnableSwagger2
public class SwaggerConfiguration extends WebMvcConfigurationSupport
关于java - @QuerydslPredicate 抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50898781/
我试图了解如何使用 @QuerydslPredicate 但我的测试 API 在调用时失败了: Servlet.service() for servlet [dispatcherServlet] in
我有许多具有相同方法的 Controller ,区别仅在于实体类。 我想创建通用的 BaseController 并且在使用 QuerydslPredicate 注释时遇到问题(无法设置根,这是通用的
我有一个“宠物”域和一个“人”域,一个人可能有一只宠物。在我的 RestController 上使用 QuerydslPredicate,我想仅返回拥有“DOG”类型宠物的人。 Pet.java @E
使用的库 Spring Boot 1.3.2.RELEASE 查询DSL 3.7.2 QueryDSL Maven 插件 1.1.3 hibernate 4.3.11.Final 问题 目前,我有一个
我正在按照这里的 spring 文档中的建议使用 @QuerydslPredicate 。 QueryDSL web support当我运行 Web 应用程序时一切正常。但是对于我使用时的测试用例 M
我正在创建一个端点,它将接收日期以在服务器端进行一些过滤。代码如下所示: @RequestMapping(value = "/invoices", method = RequestMethod.GET
我是一名优秀的程序员,十分优秀!