[Spring Boot] 파일 확장자 확인
2023. 12. 4. 20:36
프로그래밍/Spring Boot
파일 확장자 확인 Tika 라이브러리를 통하여 파일 확장자를 확인하는 방법을 간단하게 공유해보고자 함 1. gradle 추가 mvn repository에서 확인 가능 implementation group: 'org.apache.tika', name: 'tika-core', version: '1.4' 2. Tika import 후 사용 import org.apache.tika.Tika; public void Test() { File pdfFile = new File("경로/파일명.pdf"); Tika tika = new Tika(); String mimeType = tika.detect(file); if("application/pdf".equals(mimeType)) { ... } }
[Spring Boot] REST API naming 규칙
2023. 10. 4. 20:34
프로그래밍/Spring Boot
REST API naming 간단 정리 명사 사용 동사는 사용 X GET /manage-order (X) GET /order-management (O) 복수형 사용 GET /order (X) GET /orders (O) 하위 리소스는 /를 이용하여 나타냄 PUT /users/{id}/orders uri는 소문자 사용 GET /Users (X) GET /users (O) camelCase 대신 snake-case 사용 이때 _(underbar) 대신 -(hyphens) 사용한다는 것도 기억해두기 GET /orderManagement (X) GET /order_management (X) GET /order-management (O)
[Spring Boot Error] Syntax error in SQL statement "drop table if exists [*]user cascade "; expected "identifier"; SQL statement: 에러 해결 방법
2023. 8. 21. 20:41
프로그래밍/Spring Boot
user entity 작성 후 Run 했더니 해당 에러 발생 발생 원인 user는 대부분의 데이터 베이스에서 예약어로 사용됨 그렇기에 user를 테이블 이름 등의 식별자로 사용하는 경우 에러가 발생할 수 있음 해결 방법 2가지 1. 테이블 명을 user 대신 member로 변경 2. user 테이블을 그대로 사용하고 싶다면 entity에 아래와 같은 Table 어노테이션 사용하기 @Table(name = "\"user\"")
[Spring Boot Error] Required request parameter 'xxx' for method parameter type String is not present Error
2023. 6. 30. 20:54
프로그래밍/Spring Boot
Required request parameter 'xxx' for method parameter type String is not present 에러 발생 원인 Controller에서 Prameter 값을 받아올 때 null이거나 Type이 맞지 않는 경우 발생 해결 방법 @RequestParam의 required 속성을 false로 설정하거나 null 을 받아오면 안되는 경우 파라미터로 넘겨주는 값을 확인해보기 @RequestParam의 required 속성은 default true임 예시 public List getSampleList(@RequestParam(value="customerNo", required=false) String customerNo) throws Exception { return..
[Spring Boot] @DeletedMapping에서 @RequestBody 사용?
2023. 5. 16. 20:09
프로그래밍/Spring Boot
@DeletedMapping에서 @RequestBody 사용이 안되는 이유와 대체 방안 @DeletedMapping은 HTTP DELETE 요청을 처리하는데 사용함 DELETE 요청은 요청 바디를 가지지 않는 것이 일반적임 그렇기에 @RequestBody 사용하여 요청 바디를 수신하는 것이 지원되지 않음 대체 방법 👇 @DeletedMapping에서 데이터 전달이 필요한 경우 @RequestParam을 사용하거나 @RequestBody를 전달받아야 하는 경우라면 @DeletedMapping 대신 @PutMapping을 사용하기
[Spring Boot Error] Request method 'PUT' is not supported
2023. 5. 4. 20:34
프로그래밍/Spring Boot
Request method 'PUT' is not supported 발생 원인 controller에 @PutMapping이 존재하지 않아 발생 내 경우 controller 작성해놓고 서버 재시작을 안해서 발생함 해결 방법 controller mapping 된 부분 확인하여 'PUT'으로 변경하기
[Spring Boot Error] Invalid CSRF Token 'null' was found on the request parameter '_csrf' or header 'X-CSRF-TOKEN' 원인과 해결 방법
2023. 3. 30. 23:24
프로그래밍/Spring Boot
Invalid CSRF Token 'null' was found on the request parameter '_csrf' or header 'X-CSRF-TOKEN' 에러 스프링 시큐리티에서 CSRF(Cross-site Request Forgery) 보안 기능을 사용할 때 발생하는 에러 보안 기능이 동작하지 않아 발생하거나 설정이 잘못되어 발생할 수 있음 에러 발생 원인 이 에러는 주로 CSRF 토큰 값이 전달되지 않았거나, 전달된 토큰 값이 유효하지 않을 때 발생함 스프링 시큐리티에서는 CSRF 보안 기능을 사용할 때, 사용자의 세션에 저장된 CSRF 토큰 값과 요청으로 전달된 CSRF 토큰 값을 비교하여 일치하지 않으면 이 에러를 발생시킴 해결 방법 CSRF 보안 기능 해제 가장 간단한 해결책은 C..
[SpringBoot Error] error: Cask 'adoptopenjdk11' is unavailable
2023. 2. 23. 20:33
프로그래밍/Spring Boot
error: Cask 'adoptopenjdk11' is unavailable 해결 방법 프로젝트 내의 jdk 버전 맞춰보고, jdk 재설치도 해봤지만 error가 해결이 안돼서 SpringBoot 버전을 바꾸니 해결됨 나의 경우에는 SpringBoot 버전과 jdk가 충돌된 듯 함 Spring Initializr에서 Spring Boot 버전을 기존 다운로드한 버전보다 한 단계 아래로 변경하니 error 해결 아래의 체크한 부분쪽에서 버전을 바꿔주기