본문 바로가기

전체 글

(92)
[TIL] 항해99 Day 32 항해 32일차 Enum Enum은 열거형이라고 말하며, 서로 연관있는 상수들의 집합이다. 필요한 상수들을 각 클래스에서 그 때 그 때 정해서 써도 되지만, 이렇게 한 클래스로 두면 여기저기 가져다 쓸 수 있어 편하다. 열거형을 정의하는 방법은 간단하다. 다음과 같이 괄호{ }안에 상수의 이름을 나열하기만 하면 된다. enum 열거형이름 { 상수명1, 상수명2, ... } 이 열거형에 정의된 상수를 사용하는 방법은 ‘열거형이름.상수명’이다. public class MyClass{ // enum enum UserRole { USER, ADMIN } // 메인 메소드 public static void main(String args[]) { System.out.println(UserRole.USER); Syst..
MVC 테스트 항해 31일차 2022.02.09 MVC 테스트 Spring MVC Test Spring MVC 컨트롤러의 테스트를 말한다. 컨트롤러의 자체는 단위 테스트가 필요할 만한 비즈니스 로직이 존재하지 않기 때문에 통합 테스트의 관점으로 접근해야 한다. E2E로 테스트를 할 경우 뷰가 생성한 응답 데이터(HTML)의 유효성을 검증할 수 있으나, 에플리케이션이나 데이터베이스가 반드시 기동되어야 하는 등의 단점이 있다. Spring Test는 E2E의 단점을 해소하면서 통합한 상태의 컨트롤러 테스트를 위해 ‘MockMvc’를 제공하고 있다. MockMvc Spring에서는 MockMvc를 제공해 웹 애플리케이션을 서버에 배포하지 않고 스프링 MVC의 동작을 재현할 수 있다. 테스트 케이스의 메서드는 Dispathc..
RESTful하다? 항해 30일차 REST API란? REST API는 정보들을 주고 받는데 있어 개발자들 사이에 널리 쓰여지는 일종의 형식이다. 어떤 학원에서 학원을 관리하기 위한 API들을 만든다고 하자. 사실 REST API는 지켜줬으면 하는 형식이고 약속일 뿐이므로 REST API를 고려하지 않고 서비스를 만들어도 된다. (REST 하지 않은 예시1) 이런 식으로 URI를 원하는 단어 아무거나 써서 만들어도 내가 구분해서 쓸 수만 있으면 서비스 기능 자체에는 문제가 없다. 하지만 한 서비스를 여러 개발자가 만드는 일이 많고 내가 혼자 만든 API를 다른 사람이 이용하게 되는 일도 생긴다. 이 때 위 방식처럼 요청하고자 하는 내용이랑 전혀 상관없는 쌩뚱맞은 URI를 설정해놓으면 이게 뭘 하는 요청인지 알기 힘들다. (..