我正在创建一个 Java RESTAPI Spring Boot 应用程序,它使用 spark 从服务器获取一些数据。当我尝试从数据集转换为列表时它失败了。
我试过 jdk8 和 jdk11 来编译和执行代码,但我得到了相同的 'java.lang.IllegalArgumentException: Unsupported class file major version 55',过去,我通过更新 Java 版本解决了这个问题,但它是不为此工作。
我正在使用:
JDK 11.0.2
春季启动 2.1.4
火花2.4.2
这是我正在执行的代码:
Dataset<Row> dataFrame = sparkSession.read().json("/home/data/*.json");
dataFrame.createOrReplaceTempView("events");
Dataset<Row> resultDataFrame = sparkSession.sql("SELECT * FROM events WHERE " + predicate);
Dataset<Event> eventDataSet = resultDataFrame.as(Encoders.bean(Event.class));
return eventDataSet.collectAsList();
Run Code Online (Sandbox Code Playgroud)
查询有效,实际上在调试时您可以在 resultDataFrame 和 eventDataSet 中看到信息。
我希望输出是一个正确的事件列表,但我收到了异常:
[http-nio-8080-exec-2] ERROR org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/].[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.IllegalArgumentException: Unsupported …Run Code Online (Sandbox Code Playgroud) 我正在使用 Swagger 用 Spring Boot 创建一个新的 Rest API 来记录它,但我无法更改 Web 上显示的示例值。我可以在模型中更改它,但不能在 POST 参数中更改。
这些是我的依赖项:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.4.RELEASE</version>
<relativePath/>
<!-- lookup parent from repository -->
</parent>
...
<swagger.version>2.9.2</swagger.version>
...
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${swagger.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger.version}</version>
</dependency>
...
Run Code Online (Sandbox Code Playgroud)
我拥有的代码是:
@PostMapping("events")
@ApiOperation(value = "Get events")
public ResponseEntity<List<Event>> events(
@ApiParam(value = "Event type", required = true, example = "sent") final @RequestBody String type) {
return new ResponseEntity<List<Event>>(getEvents.get(type), HttpStatus.OK);
}
Run Code Online (Sandbox Code Playgroud)
而不是在示例值“已发送”下看到,而是看到“字符串”。
此注释适用于 Event 模型,但不适用于这里。
我错过了什么?