기본적인 CRUD에 해당하는 REST API 구성 과정을 정리한다.
@RestController
@RequiredArgsConstructor
public class TestController {
private final TestService testService;
@GetMapping("/test")
public Map<String, Object> TestController() {
return null;
}
}
@RestController ⇒ @Controller + @RespnseBody가 합쳐진 기능을 제공한다. @Controller가 요청의 URI 매핑을 진행하고, @RespnseBody는 Json형태의 응답을 반환하도록 한다.
@RequiredArgsConstructor ⇒ final 혹은 @NotNull 이 붙은 필드의 생성자를 자동 생성해주는 Lombok 어노테이션이다. 해당 예제에서는 TestController의 필드에 맞게 생성자를 생성해준다.
<aside> 💡 @Autowired 와 @RequiredArgsConstructor 둘다 Bean DI(Dependency Injection, 의존성 주입)을 위해 사용되는 어노테이션이다. Spring 4.3 이후로는 @Autowired 사용을 지양하고 있다.
</aside>
public interface TestService {
Map<String, Object> getTestData();
}
@Service
public class TestServiceImpl implements TestService {
@Override
public Map<String, Object> getTestData() {
Map<String, Object> testData = new HashMap<>();
testData.put("label1", "test1");
testData.put("label2", "test2");
return testData;
}
}
[로그인 기능 구현 REST API + Spring Security + @JWT](https://dori2005.notion.site/JWT-d3ffb9e769294e7fb0679b9d7b9c6588)