본문 바로가기

Trouble Shooting

(17)
[intelliJ] assertThat import 안되는 오류 문제 발생 assertThat을 사용하기 위해 AssertJ를 import를 하려고 했는데 import가 안되는 문제가 발생했다. 해결 방법 import static org.junit.Assert.*; 테스트를 생성할 때 자동으로 들어가는 import문을 지워주면 된다. import를 지워주니 잘뜬다. 맨날 지워주는걸 까먹는다 ... 😅 +) assertThat만 치고 import를 하려고 하면 import static method 선택지가 나오지 않는다. 이럴 때에는 assertThat()까지 치고 단축키를 누르면 제대로 나오는 것을 확인할 수 있다.
[intelliJ] intelliJ Task와 Github 연동하기 문제 발생 Github에서 이슈를 따고 intelliJ에서 Task를 만들려고 했는데, Github와 intelliJ가 연동이 제대로 되지 않아서 Task가 보이지 않는 이슈가 발생했다. 해결 방법 command (윈도우의 경우에는 ctrl) + shift + a을 누른 후에, Tasks를 검색해주어서 들어가준다. Tasks - Servers에 들어가준 후, +버튼을 누르고 Github를 클릭해준다. Repository에 유저 이름과 레포지토리 이름을 순서대로 입력해준 후에, Create API Token로 토큰을 발급해준다. 그 후에 Test를 눌러 Connection이 제대로 되는지 확인한다. 정상적으로 Connection이 되었는지 확인하기 위해, 다시 Open Task에 들어가 준 후에 생성한 이..
[Spring Boot] H2를 사용하면서 자주 나오는 오류들 1. h2-console 404 not found (whitelabel error page) properties 설정에 h2-console 사용 여부를 설정하지 않았을 때 발생하는 에러이다. application.properties(또는 .yml)에 아래 설정을 추가한다. apllication.properties spring.h2.console.enabled=true 2. Database "mem:testdb" not found properties 설정에 datasource url을 설정하지 않았을 때 발생하는 에러이다. (다른 프로젝트는 설정해주지 않아도 잘 동작하는데 가끔 발생한다. 정확한 원인은 모르겠다 ㅜㅜ) apllication.properties spring.datasource.url=jdbc..
[Spring Boot] json response할 때 Enum 객체 전체 보여주기 문제 발생 Enum @AllArgsConstructor @Getter public enum Foo { A("에이", "a"), B("비", "b"), C("씨", "c"); private String korean; private String small; } Controller @RestController public class EnumController { @GetMapping("/enum/{code}") private RestResponse showFoo(@PathVariable String code){ return new RestResponse(true, Foo.valueOf(code)); } } Response 객체 @Getter public class RestResponse { private bo..
[Spring Boot] 인터넷 익스플로러 API 호출 캐싱관련 이슈(Internet Explorer caching api calls issue) 해결 방법 문제 발생 비동기로 동작하는 API의 요청으로 특정 값을 바꿨을 때, DB는 바뀌었는데 브라우저에서는 계속 변경 전 값만 보이는 이슈가 발생했다. 특이한 점은 Chrome, Edge 모두 정상 동작했지만, Internet Explorer(IE)만 이 현상이 발생했다는 점이다. 몇 번 이슈를 재현해보니, IE에 캐싱 때문에 이런 이슈가 발생한 것을 알았다. 해결 방법 처음에는 프론트에서 해결할 수 있을 줄 알았는데, 아니었다. 응답을 보내주기 전에 아래 코드를 추가해 주면 된다. public anyDto anyMethod(..., HttpServletResponse response) { //someting response.setHeader("Cache-Control","no-store"); // 추가 re..
[Spring Boot] @ResponseBody 사용해서 객체를 json으로 반환할 때 No converter found for return value of type 오류 해결 방법 문제 발생 @ResponseBody를 사용해서 객체를 json으로 사용했는데 갑자기 No converter found for return value of type : class xxx... 오류가 발생했다. 구글링을 해보니까 jackson-databind 의존성을 추가하라는 내용도 있었고, jackson-core 의존성을 추가하라는 내용도 있었다. 하지만 다 따라 해봐도 오류가 사라지지 않았다. 아래는 오류가 발생한 코드이다. public class Person { private String name; public Person(String name) { this.name = name; } } @ResponseBody @GetMapping("/builder/2") public Person builderTe..
[Spring Boot] Entity 자료형으로 Enum 사용시 Out of range value for column 오류 해결 방법 문제 발생 Entity를 만들고 DB를 연결하여 조회를 하려고 했는데 Out of range value for column 에러가 발생했다. 더보기 java.sql.SQLException: Out of range value for column 'service54_7_0_' : value A at org.mariadb.jdbc.internal.com.read.resultset.rowprotocol.TextRowProtocol.getInternalLong(TextRowProtocol.java:338) at org.mariadb.jdbc.internal.com.read.resultset.rowprotocol.TextRowProtocol.getInternalInt(TextRowProtocol.java:257) ..
[Spring Boot] @IdClass로 복합키 매핑을 했을 때 생기는 오류 해결 방법 (DB 컬럼명과와 엔티티 변수명이 다를 때) 먼저 아래 내용을 체크해야 한다. 엔티티 클래스와 식별자 클래스의 자료형과 변수명이 같은가? 식별자 클래스는 Serializable을 구현하고 있는가? 식별자 클래스의 접근 제어자가 public인가? User.java @Entity @Getter @Setter @Table(name = "users") @IdClass(UserId.class) public class User implements Serializable { /** * 회원 번호 (Unique, Auto Increment) */ @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "seq") private Long id; /** * 아이디 (Unique) */ @Id p..