티스토리 뷰

 

 

 

 

RESTful  :
- RESTful 아키텍쳐는 자원(resource)을 주소(url)로 표현하고,
HTTP 메소드(GET, POST, PUT, DELETE 등)를 사용하여
자원에 대한 CRUD 작업을 수행한다.
이를 통해 클라이언트와 서버 간 통신이 가능하다.

 

 

 

REST API  :
- 설계방식.
- RESTful 아키텍쳐를 따르는 웹 API.
- RESTful 아키텍쳐 스타일을 기반으로 하여 클라이언트와 서버 간에 데이터를 비동기 방식으로 전달하는 인터페이스.
- 데이터를 송수신 할 때는 JSON(or XML)으로 데이터를 송수신하며, HTTP 요청과 응답을 사용해 통신함
- url 만 보고도 인식하도록 만들어 놓은 방식

 

 

REST Controller  :
- JSON, XMl 등의 데이터를 반환 
- 메서드는 일반적으로 객체를 반환하며 , 이 객체는 JSON 또는 XML로 변환되어 클라이언트에 전달된다.
- RESTful 웹 서비스를 구축하기 위해 사용된다.
- 비동기방식

 

 

 

 


 

REST API 특징 :

 

- 표준 HTTP 메서드 사용 : REST API는 표준 HTTP 메서드를 사용하여 리소스에 대해 다양한 작업을 수행
- 데이터 송수신 : JSON 또는 XML과 같은 다양한 형태의 리소스를 전송할 수 있음.
- 데이터는 클라이언트에서 비동기 방식으로 화면에 출력

 

 

 

GET: 리소스를 조회
POST: 리소스를 생성
PUT: 리소스를 수정
DELETE: 리소스를 제거

 

 

 REST API 구현 예시 : 

 

GET: 리소스를 조회

@GetMapping("/{id}")
    public Book getBookById(@PathVariable Long id) {
        // id에 해당하는 책 정보를 데이터베이스에서 조회하여 반환
        return bookService.getBookById(id);
    }

 

POST: 리소스를 생성

@PostMapping
    public ResponseEntity<Book> createBook(@RequestBody Book book) {
        // 새로운 책 정보를 데이터베이스에 저장하고 저장된 책 정보를 반환
        Book savedBook = bookService.saveBook(book);
        return ResponseEntity.created(URI.create("/api/books/" + savedBook.getId())).body(savedBook);
    }

 

PUT: 리소스를 수정

 @PutMapping("/{id}")
    public ResponseEntity<Book> updateBook(@PathVariable Long id, @RequestBody Book book) {
        // id에 해당하는 책 정보를 수정하고 수정된 책 정보를 반환
        Book updatedBook = bookService.updateBook(id, book);
        return ResponseEntity.ok(updatedBook);
    }

 

DELETE: 리소스를 제거

@DeleteMapping("/{id}")
    public ResponseEntity<Void> deleteBook(@PathVariable Long id) {
        // id에 해당하는 책 정보를 삭제
        bookService.deleteBook(id);
        return ResponseEntity.noContent().build();
    }

 

 

 

 

Spring REST API 어노테이션 : 

 

 

@RequestBody : HTTP 요청으로 전송된 JSON 데이터를 Java 객체로 변환해주는 스프링 어노테이션
주로 REST API에서 클라이언트가 서버에 보낸 데이터를 수신하고 처리하는데 사용

@ResponseBody : Java 객체를 JSON 데이터로 변환해주는 스프링 어노테이션
주로 REST API에서 서버가 클라이언트에 JSON 데이터를 수신할 때 사용

@RestController : 해당 클래스가 JSON 데이터로 메서드 값을 리턴하도록 지정하는 스프링 어노테이션 *@ResponseBody를 사용하지 않아도 메소드가 자동으로 JSON 데이터 반환 *
  => 이말은 ResponseBody와 함께 사용할 이유가 없다는 말임

 

// 요약 
@RequestBody(Client - >Server)
@ResponseBody(Server -> Client)
@RestController(@ResponseBody과 함께 사용 금지)
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함