본문 바로가기

분류 전체보기99

RequestBody, RequestPart, RequestParam, ModelAttribute RequestPart, Body를 위해서 한번 더 정리한다. RequestBody Http 요청은 body가 그대로 넘어온다. 이 body 내용을 HttpMessageConverter로 보내거 자바 객체로 변환하여 메소드 파라미터로 전달해준다. Http 요청으로 같이 넘어오는 Header의 Content-type을 참고하여 어떤 Converter을 사용할지 정한다. 주로 JSON을 받는데 사용한다. RequestPart Content-type이 multipart/form-data와 관련된 경우 사용한다. 흔히 이미지를 저장하는 상황에서 주로 사용한다. RequestParam 1개의 파라미터를 넘겨받을 때 사용한다. required default true인 만큼 신중히 사용하자. ModelAttribute.. 2022. 11. 22.
Spring Boot로 이미지 첨부 가능 게시판 구현 이미지 첨부가 가능한 게시글, 게시판을 만들면서 정리하는 내용이다. Spring Boot + Gradle + JPA로 구현했다. application.yml 설정 servlet: multipart: enabled: true location: //저장하고 싶은 위치 max-request-size: 30MB max-file-size: 10MB enabled : 파일 업로드 가능 여부 location :업로드된 파일의 임시 저장 경로 max-request-size :한 번에 최대 업로드 가능 용량 max-file-size :파일 하나의 최대 크기 Entity [BOARD, IMAGES] Controller Service Postman Test File https://winter1396love.tistory.c.. 2022. 11. 22.
Spring Boot + Gradle에서 사용할 querydsl 초기 셋팅 언제나 maven으로 진행했던 프로젝트... pom 설정은 익숙하지만 Gradle로 셋팅하는건 어색해서 게시글로 남겨본다. plugins { id 'org.springframework.boot' version '2.7.5' id 'io.spring.dependency-management' version '1.0.15.RELEASE' id 'java' } group = 'com.todo' version = '0.0.1-SNAPSHOT' sourceCompatibility = '17' configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementati.. 2022. 11. 18.
Serializable를 사용하는것인가? 스터디를 진행하면서 갑자기 Serializable가 생각났다. 현재 프로젝트에는 implements Serializable를 진행하고 있지 않다. 하지만 이전 회사에서 한번 사용했던 기억이 있었기에 언제 사용하고 언제 사용안하는지에 대해서 궁금증이 생겼다. 우선 Serializable은 직렬화로 해석된다. JPA 표준에서는 Entity class는 Serializable를 반드시 implements 할 것을 요구한다. JPA를 사용하면서 Serializable를 사용하는 경우는 domain 객체를 DTO, VO를 생성하지 않고 보낼대 implements를 진행한다. Serializable를 상속 받아 caching/optimization을 목적으로 HttpSession 값을 저장할 수 있다고 한다. ht.. 2022. 11. 16.
JPA + Postgres 사용시 주의할 @Lob 프로젝트로 Entity 작성시 평소와 같이 @Lob를 사용하고 있었다. Postman을 통해서 등록 메소드를 테스트 하는 상황에서 문제가 발생했다. title, contents의 값이 의도와 다르게 contents에 이상한 숫자가 들어간 상황이다.... 왜지...? 왜지...? 처음에는 request model에 담기면서 값이 달라지나? 라고 생각했지만 아닌것을 확인 자세히 기억해보면 그동안 JPA를 사용하면서 이용했던 DB는 h2 mysql 정도라는 것을 기억해냈다. 지금 Postgres를 사용하면서 이런 문제가 생긴것을 생각하고 알아봤다. 결론은 @Lob말고 @Column(nullable = false, columnDefinition="TEXT") 으로 변경하면 TEXT가 들어가는 것을 확인할 수 있.. 2022. 11. 15.
[Postges] Spring Boot + Postgres 설정하기 이 작업은 Spring Boot[Gradle] + Postgres + JPA를 기반으로 작업한 게시글입니다. Postgres 설치는 아래 링크로 https://postgresapp.com/ Postgres.app – the easiest way to get started with PostgreSQL on the Mac Postgres.app is a full featured PostgreSQL installation packaged as a standard Mac app. postgresapp.com 설치후 실행해주면 위와 같은 코끼리가 우리를 반겨준다. 사용할 디비로 이동하면 터미널창이 나오는데 해당 터미널 창에서 사용자 추가와 사용할 데이터 베이스 생성을 진행해주자. \du 명려어를 통해서 현재 존재.. 2022. 11. 15.