[기초 API 구현] - 게시글 작성 구현(2) Controller - service - repository 연결

박성규·2022년 5월 23일
0

[스프링 부트]

목록 보기
8/38
post-thumbnail

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메소드를 실행한다.

0개의 댓글

관련 채용 정보