rest api
[restful API] restful API가 필요한 데이터만 전송하는 방법, 애플리케이션 성능 향상
keepgoing
2023. 4. 13. 12:30
RESTful API에서 필요한 데이터만 전송한다는 것은 클라이언트가 서버에 요청할 때, 클라이언트가 필요로 하는 데이터만 요청하는 것을 말한다. 이는 서버에서 불필요한 데이터를 제외하고 필요한 데이터만 응답하는 것을 의미한다.
예를 들어, 게시글 목록을 가져오는 API를 구현한다고 가정해보겠다. 게시글 정보는 제목, 작성일, 작성자 정보 등 여러 가지 속성을 가질 수 있다. 하지만 클라이언트가 필요한 것은 게시글의 제목과 작성일 뿐이라고 가정해보겠다. 이 경우, RESTful API에서는 서버에 요청할 때 게시글의 제목과 작성일에 대한 요청만을 보내고, 서버는 해당 요청에 대해 필요한 데이터만 응답하게 된다.
아래는 Java와 Spring Framework를 이용한 RESTful API 예시 코드이다. 게시글의 목록을 가져오는 GET 요청을 처리하는 PostController 클래스 예시 코드는 아래와 같다.
@RestController
@RequestMapping("/posts")
public class PostController {
private final PostService postService;
public PostController(PostService postService) {
this.postService = postService;
}
@GetMapping
public List<Post> getAllPosts() {
// 서비스에서 게시글 목록을 가져옴
List<Post> posts = postService.findAll();
// 게시글의 제목과 작성일에 대한 정보만 반환
return posts.stream()
.map(post -> new Post(post.getTitle(), post.getCreatedAt()))
.collect(Collectors.toList());
}
}
위의 예시 코드에서는 클라이언트가 요청한 /posts URI에 대한 GET 요청을 처리한다. 이 때 PostController 클래스는 PostService 클래스를 통해 모든 게시글 목록을 가져온다. 그리고 Stream API를 사용하여 가져온 게시글 목록에서 필요한 데이터만 필터링하여 반환한다. 이를 통해 클라이언트는 필요한 데이터만 전송받을 수 있게 된다.