본문 바로가기

프로젝트 & TIL/일별 공부 기록 (백엔드 스쿨)

78일차 - Data Binding

Data Binding

Converter<S, T> Interface

    @GetMapping("/")
    public PersonResponse getPerson(@RequestHeader("person") Person person) {
        ...
    }

    ///

@Component
public class PersonConverter implements Converter<String, Person> {
    @Override
    public Person convert(String source) {
        return objectMapper.readValue(source, Person.class);
    }
}

public class Person {
    private String name;
    private int age;
}

S(Source) ---> T(Target)으로 변환해준다.

 

Formatter

- 특정 객체 <---> String 간의 변환

- Converter와 마찬가지로 Spring Bean으로 등록하면 자동으로 ConversionService에 등록시켜주기 때문에 필요에 따라(요청/응답 시 해당 데이터 타입이 있는 경우) 자동으로 동작한다.