저번 포스팅에서는 Entity 와 repository를 작성하였고,
이번 포스팅에서는 controller부분을 설정하면서 시작할것이다.
저번에 만든 bookController.java 파일을 이어서 사용할것이다.
test이름이 있는 method 말고 추가로 method를 만들어주도록 한다.
그리고 위에 annotation에서 우리는 restapi를 사용할 예정이라 controller annotation을 restapi사용하기 위해 변경을 해주고
RequestMapping annotation을 사용하여 대분류 url 주소도 추가를 해주자.
모두 적용하면 아래와 같이 된다.
- controller 설정
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import lombok.RequiredArgsConstructor;
@RestController
@RequiredArgsConstructor
@RequestMapping("book")
public class bookController {
@GetMapping("test")
public String test(Model model) {
return "test";
}
@PostMapping("join")
public String join() {
return null;
}
}
이렇게 두개의 매핑 주소를 적용하면 localhost:8080/book/join 이렇게 호출이 된다면 아래 join 메서드가 실행되게 된다.
다음은 join method 안에 repository를 의존성 주입을 통해 호출을 하고 데이터를 데이터베이스로 보내서 저장하는 코드를 작성할것이다.
또한번 join method를 수정하자.
- controller 에 추가하기
@Autowired
BookRepository bookRepository;
@PostMapping("join")
public String join(@RequestBody Book book) {
bookRepository.save(book)
return null;
}
이렇게까지 해주면 호출되는 url에서 post방식으로 book 객체를 보내주면 자동으로 repository에서 받아서 데이터베이스로 저장을 하게 된다.
그럼 보내보도록 한다.
API Tester로 post를 보내보자. 나는 크롬에서 지원하는 Talend API Tester를 사용하였다.
- 잘 동작하는지 확인을 위해 apiTester 를 이용하여 request
post 방식으로 보내고 url주소를 설정하고 아래와 같이 json 형식을 맞추어 보냈다.
그리고 데이터베이스에서 확인하면 값이 잘 들어간걸 확인할수 있다.
다음포스팅에서는 read를 해보도록 할것이다.
'IT > Java' 카테고리의 다른 글
SpringBoot/JPA part.9 (18) | 2022.02.07 |
---|---|
SpringBoot/JPA part.8 (5) | 2022.02.06 |
SpringBoot/JPA part.6 (17) | 2022.02.04 |
SpringBoot/JPA part.5 (9) | 2022.02.03 |
SpringBoot/JPA part.4 (6) | 2022.02.02 |
댓글