본문 바로가기
카테고리 없음

스프링 부트 핵심 가이드 2주차

by 이두덩이 2023. 7. 30.

 

▶ 제 04장.  스프링 부트 애플리케이션 개발하기

1. spring configuration processor

  • @ConfigurationProperties를 사용하기 위한 의존성
  • *.properties , *.yml 파일에 있는 property(DB 정보, LOG설정 등등 )를 자바 클래스에 값을 가져와서(바인딩) 사용할 수 있게 해주는 어노테이션

2. 빌드관리 도구

  1. Maven
    • pom.xml에서 각 의존성을 주입
    • 라이프 사이클 도입
  2. Gradle
    • build.gradle에서 각 의존성을 주입
    • maven에 비해 성능이 좋아서 최근에 많이 사용하는 추세

3. Talend API Tester

  • 크롬 확장 프로그램
  • intellij의 http파일, postman과 같이 Http요청에 따른 테스트 가능

 

▶ 제 05장.  API를 작성하는 다양한 방법

1. @GetMapping

  • HTTP GET 요청을 처리합니다. 즉, 클라이언트로부터 데이터를 조회할 때 사용
  •  주로 데이터를 읽어오는 요청에 사용되며, @GetMapping 어노테이션을 사용한 메서드는 주로 데이터 조회에 사용
  • @PathVariable, @RequestParam 으로 값을 받아 올 수 있음(Map을 사용하면 객체도 담을 수 있음)
@RestController
public class ExampleController {
    @GetMapping("/hello")
    public String sayHello() {
        return "Hello, World!";
    }
}

2. @PostMapping

  • HTTP POST 요청을 처리합니다. 주로 새로운 리소스를 생성하거나 데이터를 제출할 때 사용
  • 주로 데이터를 생성하거나 업데이트하는 요청에 사용되며, 폼 데이터나 JSON 데이터를 서버로 전송할 때 사용
@RestController
public class ExampleController {

    @PostMapping("/create")
    public ResponseEntity<String> createData(@RequestBody Data data) {
        // 데이터를 저장하고 성공 응답 반환
        return ResponseEntity.ok("Data created successfully");
    }
}

3. @PutMapping

  • HTTP PUT 요청을 처리합니다. 기존 리소스를 수정하거나 업데이트할 때 사용
  • 주로 기존 데이터를 업데이트하는 요청에 사용되며, PUT 요청에 전달된 데이터를 기반으로 기존 리소스를 업데이트
@RestController
public class ExampleController {

    @PutMapping("/update/{id}")
    public ResponseEntity<String> updateData(@PathVariable Long id, @RequestBody Data data) {
        // id에 해당하는 데이터를 찾아 업데이트하고 성공 응답 반환
        return ResponseEntity.ok("Data updated successfully");
    }
}

4. @DeleteMapping

  • HTTP DELETE 요청을 처리합니다. 기존 리소스를 삭제할 때 사용
  • 주로 특정 데이터를 삭제하는 요청에 사용되며, DELETE 요청에 따라 해당 리소스를 삭제
@RestController
public class ExampleController {

    @DeleteMapping("/delete/{id}")
    public ResponseEntity<String> deleteData(@PathVariable Long id) {
        // id에 해당하는 데이터를 삭제하고 성공 응답 반환
        return ResponseEntity.ok("Data deleted successfully");
    }
}

5. Swagger

  • API 문서를 자동으로 생성하고 시각화하는 도구로, RESTful 웹 서비스를 개발하는 데 큰 도움을 주는 프레임워크

6. Logback

  • 자바(Java) 애플리케이션의 로깅(로그 기록)을 위한 로깅 프레임워크
  • SLF4J(Simple Logging Facade for Java) API를 구현하면서 SLF4J와의 연동이 용이