1. Entity single field update : http Patch
- Entity의 단일 field를 수정하기 위해 put 대신 patch 방식을 구현하고자 했다
- 수정하고자 하는 field가 Entity Class의 필드명과 일치하는지 확인하여 일치하면 변경하고자 했다
- 이를 위해 Java의 reflection 개념을 찾아서 적용했다
Reflection은 클래스, 인터페이스, 메소드들을 찾을 수 있고, 객체를 생성하거나 변수를 변경할 수 있고 메소드를 호출할 수 있다
- 동적으로 필드 정보를 조회하여 아무래도 성능에 제약이 있을 수 있지만, 꼭 그런것은 아닌듯 하다
- getFields() vs getDeclaredFields()
- getFields() : public fields
- getDeclaredFields() :
reflection 참고1
reflection 참고2
자바-리플렉션에-대한-오해와-진실/
- JPA의 변경감지 기능을 사용해서 entity를 조회
- 변경을 원하는 field명과 해당 entity의 필드를 reflection으로 비교하여 일치하는 필드가 있으면 ? value로 변경 : throw Exception
2. Spring bindingResult
spring-valid-bindingResult
3. Generic과 와일드카드를 더 공부하자
- 원하는대로 구현하려면 generic과 와일드카드를 사용해야 했는데 시간이 부족하니 쉬운 방법으로 구현했다