Controller Test할 때 요약 @WebMvcTest를 사용하면 .with(csrf())와 @WithMockUser를 사용해야 합니다. @WebMvcTest class UserControllerTest { @Autowired MockMvc mockMvc; @MockBean UserService userService; @MockBean BCryptPasswordEncoder encoder; @Autowired ObjectMapper objectMapper; UserJoinRequest userJoinRequest = UserJoinRequest.builder() .userName("kyeongrok") .password("1q2w3e4r") .email("oceanfog1@gmail.com") .b..
이 기능은 '병원 리뷰 사이트'에서 Review를 등록 할 때 Post요청의 Header로 전달받은 Token에서 UserName을 꺼내 댓글을 쓸 때 활용하는 로직 입니다. ReviewCreateRequest @Builder @AllArgsConstructor @NoArgsConstructor @Getter public class ReviewCreateRequest { private Long hospitalId; private String title; private String content; } 리뷰를 쓰기 위해 요청은 총 3가지를 받습니다. 리뷰를 작성하고 싶은 병원의 Id와 리뷰 제목, 내용 이렇게 3가지 입니다. 여기에는 리뷰를 쓰는 사용자에 대한 정보가 들어있지 않습니다. Id에 해당하는 us..
Response를 선언 함으로써 여러가지 형태의 Response를 모두 취급 할 수 있습니다. @AllArgsConstructor @Getter public class Response { private String resultCode; private T result; public static Response error(String errorCode) { return new Response(errorCode, null); } public static Response success(T result) { return new Response("SUCCESS", result); } }
Saga Pattern이란? 마이크로서비스간 이벤트를 주고 받아 특정 마이크로서비스에서 작업이 실패하면, 이전까지의 작업이 완료된 마이크로서비스에 보상(Compensating) 이벤트를 발행함으로써 원자성(atomicity)을 보장하는 패턴 입니다. Saga의 뜻은? Saga의 뜻을 아무리 찾아봐도 정리된 문서에서는 Saga에 대한 설명만 있을 뿐 Saga가 예를들어 Software Application Grouping Aggregate 이런식으로(이것을 예제일뿐입니다 실제 그렇다는 것이 아닙니다) 어떤 단어의 줄임말 이라던지 하는 설명이 없었습니다. 자꾸 Saga, Saga라는 단어가 나오는데 머리속에서 그려지지 않으니 익숙하지 않고 머리에 맴돌아서 영문으로 검색을 해보았습니다. saga full na..
RestAPI만들때 규칙 RestAPI를 만들 때 URI에 행위가 들어가면 안됩니다. 예를들어 /putItem, /updateItem 이런식으로 put, update등의 행위가 들어가지 않도록 하는게 표준입니다. 그리고 _ 언더바를 쓰지 않습니다. -하이픈은 사용 합니다. 도메인 디자인 RestAPI를 만들기 위해서는 먼저 Domain을 만들어야 합니다. 이 도메인이 기준이 되기 때문입니다. @Getter @Setter public class Product { private long id; private String name; private LocalDateTime updated; } API 정의서 작성 사용자 요청 URL 메소드 Path body 전체 목록 조회 /all GET 등록 /add POST ..
Certificate Signing Requests 의 내용을 일부 번역한 문서 입니다. 1.9버젼 기준 인증(Certificates) API는 쿠버네티스 API를 이용하는 클라이언트에게 프로그램 방식의 인터페이스를 이용해 인증기관에서 제공하는 X.509 인증서를 제공 합니다. CertificateSigningRequest(CSR) 오브젝트는 지정된 사이너(signer:사인해주는 사람 또는 코드)가 인증서 요청이 왔을 때 인증을 해준 혹은 해주지 않은 인증서를 요정하는데 사용합니다. 요청에 권한을 부여하는 과정 CSR만들기 CSR 오브젝트(resource type)는 클라이언트에게 승인 요청(signing request)을 통해 X.509 인증서 발급을 요청할 수 있게 해줍니다. CSR 오브젝트는 PEM..
https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/jdbc/core/BeanPropertyRowMapper.html BeanPropertyRowMapper (Spring Framework 5.3.14 API) RowMapper implementation that converts a row into a new instance of the specified mapped target class. The mapped target class must be a top-level class and it must have a default or no-arg constructor. Column values are map..
Tomcat 실행이 체감상 느려서 Jetty로 바꾸어보았습니다. 그랬더니 조금 빨라졌습니다. Jetty로 대체 dependencies { implementation('org.springframework.boot:spring-boot-starter-web') { exclude group: 'org.springframework.boot', module: 'spring-boot-starter-tomcat' } implementation "org.springframework.boot:spring-boot-starter-jetty" } 잘 적용 되었다면 아래와 같이 나옵니다. Maven org.springframework.boot spring-boot-starter-web org.springframework.bo..
DDL Create Table employee라는 이름의 테이블을 만듭니다. 컬럼은 id, name, contents 3개 입니다. if not exists 가 들어있어서 없을때만 create table을 실행하고 테이블이 존재한다면 실행하지 않습니다. .update()를 썼기 때문에 리턴값이 0입니다. public int createTable() { // table이 있는지 먼저 check return this.jdbcTemplate.update(String.format("create table if not exists employee(id bigint, name varchar, contents text)")); } With Primary Key public int createTable() { // t..
결론부터 이야기 하자면 Jdbc로 MySql의 Datetime타입에 값을 넣을 때 LocalDateTime을 이용하고 db에 insert할 때는 Timestamp로 바꿔서 합니다. 위 table의 created_at이 MySql datetime 타입 입니다. public class CarModel { private int id; private String name; private int level; private LocalDateTime createdAt; } Model은 LocalDateTime으로 했습니다. public void add(CarModel carModel) throws SQLException { this.jdbcContext.workWithStatementStrategy(new State..
- Total
- Today
- Yesterday
- 이직
- docker container whale
- 도커컨테이너
- 2017 티스토리 결산
- 도커티슈박스
- docker container
- docker container tissue
- docker container case
- 도커티슈케이스
- Sh
- vim
- 도커각티슈박스
- docker container tissue box
- shellscript
- Linux
- 도커각티슈케이스
- 싱가폴
- 개발자
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |