Giter Site home page Giter Site logo

spring-rest-api-study's Introduction

스프링 기반 REST API 개발

이번 강좌에서는 다양한 스프링 기술을 사용하여 Self-Describtive Message와 HATEOAS(Hypermedia as the engine of application state)를 만족하는 REST API를 개발합니다

이응준님께서 2017년 네이버가 주관한 Deview라는 개발자 컨퍼런스에서 '그런 REST API로 괜찮은가​’라는 발표를 했습니다. 발표의 핵심은 현재 REST API로 불리우는 대부분의 API가 실제로는 로이 필딩이 정의한 REST를 따르고 있지 않으며, 그 중에서도 특히 Self-Describtive Message와 HATEOAS가 지켜지고 있지 않음을 지적했고 그에 대한 대안을 제시했습니다

이번 강좌는 해당 발표에 영감을 받아 만들었으며, KSUG에서 동일한 이름으로 2018년 11월 세미나를 진행한 경험이 있습니다. 4시간이라는 짧지 않은 발표였지만, 준비한 내용에 비해 시간이 부족할 수 있었기 때문에 진행을 빨리 하느라 충분히 설명하지 못하고 넘어갔던 부분을 이번 강좌에서 보충하고 또 해결하려는 문제에 대한 여러 선택지를 제공하는 것이 좋을것 같아 강좌를 만들었습니다

그리고 제가 주로 사용하는 인텔리J 단축키 역시 코딩하는 중에 설명합니다

이번 강좌에서는 다음의 다양한 스프링 기술을 사용하여 REST API를 개발합니다

  • 스프링 프레임워크
  • 스프링부트
  • 스프링 데이터 JPA
  • 스프링 HATEOAS
  • 스프링 REST Docs
  • 스프링 시큐리티 OAuth2

또한 개발은 테스트 주도 개발(TDD)로 진행하기 때문에 평소 테스트 또는 TDD에 관심있던 개발자에게도 이번 강좌가 도움이 될 것으로 기대합니다

사전 학습

  • 스프링 프레임워크 핵심 기술 (필수)
  • 스프링 부트 개념과 활용 (필수)
  • 스프링 데이터 JPA (선택)

학습 목표

  • Self-Describtive Message와 HATEOAS를 만족하는 REST API를 이해합니다
  • 다양한 스프링 기술을 활용하여 REST API를 개발할 수 있습니다
  • 스프링 HATEOAS와 스프링 REST Docs 프로젝트를 활용할 수 있습니다
  • 테스트 주도 개발(TDD)에 익숙해 집니다

spring-rest-api-study's People

Contributors

freelife1191 avatar freespring1191 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.