1.dto 작성
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@NoArgsConstructor
@AllArgsConstructor
@Setter
@Getter
public class PostDto {
private String username;
private String password;
private String title;
private String description;
}
2.Controller 작성
...
private final PostingService postingService;
@Autowired
public PostController(PostingService postingService){
this.postingService = postingService;
}
...
@PostMapping("/post/write")
public String postwrite(@RequestBody PostDto postDto){
postingService.postwrite(postDto);
return "";
}
3.Service 작성
package com.spring.crudprac.service;
import com.spring.crudprac.dto.PostDto;
import com.spring.crudprac.model.Posting;
import com.spring.crudprac.repository.PostRepository;
import org.springframework.stereotype.Service;
@Service
public class PostingService {
private final PostRepository postRepository;
@Autowired
public PostingService(PostRepository postRepository) {
this.postRepository = postRepository;
}
public void postwrite(PostDto postDto) {
// 요청받은 DTO 로 DB에 저장할 객체 만들기
Posting posting = new Posting(postDto);
postRepository.save(posting);
}
}
4.repository 작성
import com.spring.crudprac.model.Posting;
import org.springframework.data.jpa.repository.JpaRepository;
public interface PostRepository extends JpaRepository<Posting, Long> {
}
controller에서는 post 요청을 받고 service의 postwrite를 작동시킨다.
service에선 요청받은 DTO로 DB에 저장할 객체를 생성한 후 repository의 save메소드를 실행한다.