Я хочу прочитать некоторые данные из базы данных и использовать org.springframework.http.ResponseEntity
в качестве класса ответа, используя API, когда я возвращаю API, используя String, это выглядит хорошо, но когда я меняю return, используя ResponseEntity..i, всегда получаю код ответа 500: нет содержимого для отображения из-за конца ввода
здесь мой класс контроллера я использую
import com.access.cargo.placement.config.JwtConstants;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
@RestController
public class AcceptanceRestController {
@Autowired
AwbService awbService;
@RequestMapping(value = "/awb-koli/{code}/scan", method = RequestMethod.POST)
public ResponseEntity getStorageBin(@RequestHeader(value = JwtConstants.TOKEN_HEADER) String token, @PathVariable("code") Long code) {
authClient.authenticate(token);
Collection<String> authRoles = new LinkedList<>();
authRoles.add("ROLE_OUTGOING_ADMIN");
authRoles.add("ROLE_OUTGOING_ACCEPTANCE");
if (!isAuthorized(token, authRoles)) {
String msg = "You dont have authorization....";
return new ResponseEntity<>(msg, HttpStatus.UNAUTHORIZED);
}
AwbKoli resp = new AwbKoli();
resp = awbService.getAwbKoli(token, code);
return new ResponseEntity<>(resp, HttpStatus.OK);
}
}
здесь мой репо
import com.access.cargo.awb.model.entity.AwbKoli;
import org.springframework.data.jpa.repository.JpaRepository;
@Repository
public interface AwbRepo extends JpaRepository<AwbKoli, Long> {
AwbKoli findFirstByAwbKoliAndState(AwbKoli awbKoli, Integer state);
}
здесь мой сервис
import com.access.cargo.awb.repo.AwbRepo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class AwbService {
@Autowired
AwbRepo repo;
public AwbKoli getAwbKoli(Long id) {
return repo.findById(id).orElse(null);
}
}
здесь моя сущность
import lombok.Data;
import org.hibernate.annotations.DynamicUpdate;
import javax.persistence.*;
import java.io.Serializable;
@Data
@Entity
@Table(name = "awb_koli")
@DynamicUpdate
public class AwbKoli implements Serializable {
private static final long serialVersionUID = -805351090352429123L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
@Column(name = "code")
private String code;
@ManyToOne
@JoinColumn(name = "awb", referencedColumnName = "id")
private Awb awb;
}
здесь моя конфигурация
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/db_access_cargo?useLegacyDatetimeCode=false&serverTimezone=Asia/Jakarta
spring.datasource.username=root
spring.datasource.password=
#___JPA:
spring.jpa.database=default
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
spring.jpa.hibernate.ddl-auto=update
logging.level.org.hibernate.SQL=debug
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=trace
и здесь моя пом. 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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.access.cargo</groupId>
<artifactId>acceptance</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>acceptance-service</name>
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>Hoxton.SR1</spring-cloud.version>
</properties>
<dependencies>
<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-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt-api</artifactId>
<version>0.10.5</version>
</dependency>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt-impl</artifactId>
<version>0.10.5</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt-jackson</artifactId>
<version>0.10.5</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<finalName>access-cargo-acceptance-service</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
и этот результат API, я всегда получаю

Curl curl -X POST "http://localhost: 8080 / access-car go -acceptance-сервис / AWB-Коли / 231 / скан"-H "принимаем: / " -H" Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhdXRoLXRva2VuIiwiYXVkIjoiRlJPTlRFTkRfV0VCIiwidWlkIjoiYWRtaW4uYWdlbnQjMSIsImlzcyI6IkFDQ0VTU19DQVJHTyIsImV4cCI6MTU4NDIxNTA0MywicmlkIjoicXdlcnR5IiwiaWF0IjoxNTg0MTU1MDQzfQ.GpBfRMFoK - vU1L9ddx1H3B4KixbB4zFslyKYXer VDBTjELSbeGZsdKzzQDx7RsaOu757zxO8LtHtR3bO5vAIw "
URL-адрес запроса http://localhost: 8080 / access-car go -acceptance-service / awb-koli / 231/10 scan * 1042 1044 * Ответ сервера Сведения о коде 500 Недокументированное
Ошибка: Тело ответа Загрузить Нет содержимого для сопоставления из-за конца ввода
Заголовки ответа контроль кэша: без кэширования, без хранения, max-age = 0, обязательное повторное подтверждение соединения: закрыть длина контента: 37 тип контента: текст / обычный текст; кодировка = UTF-8 дата: понедельник, 30 марта 2020 г. 11:03:09 GMT истекает: 0 прагма: no-cache x-content-type-options: nosniff x-frame-options: DENY x-xss-protection: 1; mode = block
Ответы Код Описание 200 OK
Пример значения Модель {"body": {}, "statusCode": "100 CONTINUE "," statusCodeValue ": 0}
i dont know what to fix this...please anyone help..