전체 글(355)
-
[에러] EC2 Instance Metadata Service is disabled
[Reason] Spring 프로젝트에 AWS S3 를 연동하여 어플리케이션을 실행하였을 경우 발생된 에러이다. AWS EC2 인스턴스 환경이 아닌 다른 환경(로컬 환경)에서 어플리케이션을 실행하였을때 처음에 Failed to connect to service endpoint 라는 예외메세지가 나온다. 우선 이 예외메세지를 해결한 후 어플리케이션을 실행해보면 다시 본 에러가 발생한다. 임의의 옵션을 설정하여 첫 에러를 해결하였지만 EC2 의 metadata는 여전히 사용하지 않기 때문에 본 에러가 발생한 것이다. 해당 에러는 엄밀히 말하자면 에러가 아니라 예외메세지가 발생된 것이다. [Solution] application.yml 에 예외메세지가 발생되지 않는 설정값을 추가해주어 해결하였다. loggin..
2023.03.15 -
[에러] Error creating bean with name 'XXRepository' defined in com.example.project.share.XXRepository defined in @EnableRedisRepositories declared on XXApplication: Invocation of init method failed; nested exception is org.springframework.data.mapping..
[Reason] 데이터들을 Redis에 임시저장하기 위해서 Redis에 대한 설정을 하고 어플리케이션을 테스트로 실행해보았으나 해당 에러가 발생하였다. application 단에 @EnableRedisRepositories 어노테이션도 달아주었고, RedisTemplate을 사용할 것이기 때문에 해당 설정도 해주었으며, Repository도 생성해주었다. 레디스에 담길 객체도 생성을 해주었다. 알고보니 레디스에 담길 객체에 @Id 어노테이션이 말썽이였다. 기본적으로 JPA 를 사용하면서 Entity들의 @Id 어노테이션은 javax.persistence.Id를 import 받아 사용했는데 여기서는 다른 Id를 import 받아 사용해야 했다. [Solution] javax.persistence.Id 대신..
2023.03.15 -
[Spring Boot] Spring Boot Session 사용 (Spring Bean Scope)
// spring boot session - session 데이터를 관리하기 위한 dependency (프로젝트 단계별 정보들 관리) implementation 'org.springframework.session:spring-session-core' 프로젝트를 진행하면서 데이터를 DB에 바로 저장시키는 것이 아닌 따로 임시저장하여 나중에 한번에 불러와서 DB에 넣고 싶었다. 처음에는 HttpServlet에 존재하는 setAttribute 함수를 사용하여 데이터를 임시저장하고 불러와서 사용하려고 했으나 HttpServlet은 기본적으로 호출되고 응답이 발생되었으면 종료되고 내부에 설정한 데이터가 휘발된다는 특성을 가지고 있었다. 따라서 setAttribute로 임시저장하는 방법은 보류! Spring에는 B..
2023.03.15 -
[에러] Resolved [org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'multipart/form-data;boundary=--------------------------764496436931945282489496;charset=UTF-8' not supported
[Reason] 구현 api에 요청 인자가 Json 형식의 Dto 객체가 존재한다. 해당 Dto 객체 안에는 기본적인 String 타입의 변수와 int 타입의 변수가 존재하고, MultiPartFile 타입의 변수도 존재한다. 바로 이 MultiPartFile이 Dto 객체 안에 포함이 되어있어서 발생된 에러이다. 요청 받을 때 요청 인자의 미디어 타입이 정해져있어야하는데 application/json 형식의 데이터들과 multipart/form-data 형식의 데이터가 같은 Dto 객체 안에 존재하기 때문에 요청 받을 때 @RequestBody로 하면 해당 에러가 발생한다. [Solution] 해당 에러에는 내가 해결한 방법으로 두 가지가 있다. (1) @RequestBody를 제외한다. (2) Dto..
2023.03.14 -
[에러] The field file exceeds its maximum permitted size of 1048576 bytes.
[Reason] api 요청 인자에 MultiPartFile 타입 객체가 존재하고 api를 호출했을 때 해당 에러가 발생하였다. 말 그대로 MultiPartFile 타입으로 요청받는 인자의 크기가 제한이 되어있어서 발생한 에러였다. [Solution] MultiPartFile의 제한 용량을 키워주면 된다. yml 에 해당 설정을 해주어도 되지만 나는 application.properties 파일에 설정해주었다. spring.servlet.multipart.max-file-size=10MB spring.servlet.multipart.max-request-size=10MB
2023.03.14 -
[에러] Resolved [org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/octet-stream' not supported]
[Reason] api 에서 요청받는 매개인자에 Dto 타입 객체와 MultiPartFile 타입 객체가 존재하였다. api 1차 구현이 완료되고 난 이후에 포스트맨에서 확인하려고 했으나 해당 에러가 발생하였다. [Solution] 포스트맨에서 확인할 때 Body 항목의 Form-data 영역에서 각 매개인자에 대한 미디어 타입을 지정해주어야 헀는데 지정해주지 않아서 발생한 이슈였다. 포스트맨에서 Content Type을 설정해주어 해결하였다.
2023.03.14