본문 바로가기

전체 글326

[프로젝트] Spring Boot + JSP를 이용한 함께 부산 여행할 사람을 구하는 웹 사이트-3-JPA JPA 를 통해 Entity 생성 E-R Diagram Member @Getter@Setter@Entity @NoArgsConstructor public class Member { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name="userid") private int userid; //필수, 사용자 ID @Column(nullable=false) private String name; //필수, 성명 private String nickName; //필수, 별명 private String password; //필수, 패스워드 private String gender; //필수, 성별 private String email; //필수, 메.. 2022. 7. 31.
[프로젝트] Spring Boot + JSP를 이용한 함께 부산 여행할 사람을 구하는 웹 사이트-2-요구분석, 설계 (간단한) 요구분석 1. 개발환경 프로젝트 개발환경 스프링부트 버전 : 2.6.7 java 버전 : 11 DBMS : MySQL 8.0 2. Use Case Diagram 3. 기능적 요구사항 3.1 기능 리스트 기능 식별자 기능명 액터 비고 UC-01 회원 관리 1 로그인 비회원, 관리자 2 로그아웃 회원, 관리자 3 회원 가입 비회원 4 회원정보 조회 회원 내프로필 5 회원정보 수정 회원 6 회원탈퇴 회원 7 회원리스트보기 관리자 8 회원삭제 관리자 UC-02 여행 관광지 관리 9 여행 관광지 등록 회원 10 여행 관광지 수정 회원 11 여행 관광지 삭제 회원 12 여행 관광지 목록보기 비회원, 회원 13 여행 관광지 구군별, 테마별 보기 비회원, 회원 14 여행 관광지 상세보기 비회원, 회원 15 .. 2022. 7. 30.
[프로젝트] Spring Boot + JSP를 이용한 함께 부산 여행할 사람을 구하는 웹 사이트-1-기획 몇 주간 배운 Spring Boot , JPA를 이용한 CRUD, 시큐리티를 적용해 보는 팀 프로젝트 시작 기간 : 2022년 05월 16일~ 프로젝트 기획 함께해요 부산여행 기간 : 5월 09일(월) ~ 5월 10일(화) 2022. 7. 30.
Spring boot - blog application (REST API) : Securing REST APIs REST API 에서 스프링 시큐리티는 어떻게 적용이 될까? Dependency org.springframework.boot spring-boot-starter-security application.properties logging.level.org.springframework.security=DEBUG spring.security.user.name=kjh spring.security.user.password=password spring.security.user.roles=ADMIN 실행을 하면 시큐리티 자체 로그인 페이지로 넘어가게 되는데 application.properties 에서 user name, password 를 설정하여 시큐리티에 로그인 할 수 있다. Postman 에서 시큐리티 적용된 서.. 2022. 7. 20.
Spring boot - blog application (REST API) : Validation @Valid 스프링 부트에서 유효성 검사를 해보려고 합니다. Create, Update Post REST API 요청에 대해 유효성 검사 dependency 추가 org.springframework.boot spring-boot-starter-validation 2.7.0 PostDto 에 애노테이션 추가 package com.springboot.blog.payload; @Data public class PostDto { private long id; @NotEmpty @Size(min =2, message="Post title should have at least 2 characters") private String title; @NotEmpty @Size(min= 10, message="Post descripti.. 2022. 7. 6.
Spring boot - blog application (REST API) : Global Exception Handling REST API 에서 a custom error response를 생성하기 Create ErrorDetails Class Create GlobalExceptionHandler Class Test using Postman Client Create ErrorDetails Class package com.springboot.blog.payload; import java.util.Date; import lombok.Getter; @Getter public class ErrorDetails { private Date timestamp; private String message; private String details; public ErrorDetails(Date timestamp, String message, .. 2022. 7. 5.
Spring boot - blog application (REST API) : ModelMapper ModelMapper map an object from one object to another object ! 1. Add ModelMapper Library dependency Maven Repository: org.modelmapper » modelmapper mvnrepository.com org.modelmapper modelmapper 3.1.0 2. define the ModelMapper bean in our Spring configuration @SpringBootApplication indicates that configuration class that declares one or more bean methods and also triggers a auto configuration and.. 2022. 7. 4.
Spring boot - blog application (REST API) : Comment Creating JPA "Comment" Entity Comment @Data @NoArgsConstructor @AllArgsConstructor @Entity @Table(name = "comments") public class Comment { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String body; private String email; private String name; @ManyToOne(fetch =FetchType.LAZY) @JoinColumn(name="post_id", nullable=false) private Post post; } @ManyToOne(fetch =Fetc.. 2022. 7. 3.
Spring boot - blog application (REST API) : Pagination and Sorting Support 기존 포스트 리스트에서 페이지네이션을 적용시키려고 합니다. 페이지네이션을 사용자가 쉽게 설정할 수 있도록 따로 클래스 작성 AppConstants package com.springboot.blog.utils; public class AppConstants { // page elements public static final String DEFAULT_PAGE_NUMBER = "0"; public static final String DEFAULT_PAGE_SIZE= "10"; public static final String DEFAULT_SORT_BY= "id"; public static final String DEFAULT_SORT_DIRECTION= "ASC"; } payload PostResponse.. 2022. 6. 30.
Spring boot - blog application (REST API) : Post CRUD REST API 를 통해 게시물을 CRUD - Create(생성), Read(읽기), Update(갱신), Delete(삭제) 적용 패키지 구조 application.properties spring.datasource.dbcp2.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/myblog?userSSL=false&serverTimezone=Asia/Seoul&characterEncoding=UTF-8 spring.datasource.username = root spring.datasource.password = root # hibernate properties spring.jpa.prop.. 2022. 6. 29.
Spring boot - blog application (REST API) What is REST? The REST stands for REpresentational State Transfer ➢ State means data ➢ REpresentational means formats (such as XML, JSON, YAML, HTML, etc) ➢ Transfer means carry data between consumer and provider using the HTTP protocol Key points about REST - REpresentational State Transfer: • REST was originally coined by Roy Fielding, who was also the inventor of the HTTP protocol. • A REST A.. 2022. 6. 28.
Spring Boot 컨트롤러에서 데이터 받는 방법(@RequestBody, @RequestParam, @PathVariable) @RequestBody HttpMessageConverter에 의해 Json 포맷의 데이터 java 객체로 자동으로 역직렬화 예시) Controller.java @PostMapping("register") @ResponseBody // return data public String register(@RequestBody Member member) { ... } JSP에서 ajax를 통해 통신 var data={ "name": $("#name").val(), "nickName": $("#nickname").val(), "password": $("#password").val(), "gender": $("#gender").val(), "email":$("#email").val(), "phone":$("#pho.. 2022. 6. 27.