사용자 도구

사이트 도구


java:jackson

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판 양쪽 다음 판
java:jackson [2018/08/09 11:25]
kwon37xi [JSON Filter]
java:jackson [2018/08/09 12:14]
kwon37xi [JSON Filter]
줄 10: 줄 10:
   * [[http://www.baeldung.com/java-json|JSON in Java]]   * [[http://www.baeldung.com/java-json|JSON in Java]]
  
-===== JSON Filter ===== 
-  * ''@JsonFilter'' : Filter ID를 문자열로 지정한다. 일단 이 애노테이션을 사용하면 무조건 ''FilterProvider''와 해당 ID를 처리하는 필터를 제공해야 한다. 
-  * ''SimpleFilterProvider'' 
-    * ''setDefaultFilter'' : Filter ID에 해당하는 필터가 존재하지 않을 경우 기본처리할 필터. 지정하지 않으면 오류 발생. 
-  * ''SimpleBeanPropertyFilter.filterOutAllExcept'' : 지정된 필드들만 JSON 변환한다. 알 수 없는 필드는 무시한다. 이 방식을 권장한다. 명백히 검증된 필드만 내보낸다. 
-  * ''SimpleBeanPropertyFilter.serializeAllExcept'' : 지정된 필드를 제외한 나머지 모두를 JSON 변환한다. 알 수 없는 필드는 무시한다. 이 방식은 **추후에 추가되는 필드가 오류를 유발시키거나 보안상 위협이 될 수도 있기 때문에 권하고 싶지 않다**. 
-  * ''objectMapper.writer(filterProvider)'' 
-  * [[https://www.baeldung.com/jackson-serialize-field-custom-criteria|Serialize Only Fields that meet a Custom Criteria with Jackson]] 
-  * [[http://javagalleog.blogspot.kr/2016/04/json-filters-for-spring-mvc.html|Java Tips for Geeks: JSON filters for Spring MVC]] 
-  * [[https://www.concretepage.com/jackson-api/jackson-jsonfilter-example|Jackson @JsonFilter Example]] 
-  * [[http://jsonobject.tistory.com/258|Jackson, 커스텀 @JsonFilter로 조건에 맞는 필드만 JSON 변환하기]] 
-  * [[https://sdqali.in/blog/2016/06/08/filtering-responses-in-spring-mvc/|Filtering responses in Spring MVC - {code that works} by Sadique Ali]] 
-  * Spring 4.2 부터 ''@JsonFilter''도 지원함 
-  * [[http://blog.bafoly.com/2016/06/returning-role-based-content-in-spring-rest-controller/|Returning role based content in Spring Rest Controller – bbk notes]] 
-  * [[https://github.com/Baeldung/spring-hypermedia-api/blob/master/src/main/java/com/baeldung/web/controller/NewBookController.java|spring-hypermedia-api/NewBookController.java at master · Baeldung/spring-hypermedia-api]] 
-  * [[https://stackoverflow.com/questions/11036366/filter-nested-objects-using-jacksons-beanpropertyfilter|Filter nested objects using Jackson's BeanPropertyFilter - Stack Overflow]] 
  
-<code java> 
-  @RequestMapping(method=RequestMethod.GET) 
-  public MappingJacksonValue getMovies(@AuthenticatedUser TutorialUser user){ 
-    List<Movie> movieList = movieDao.findAll(); 
-    MappingJacksonValue mappingJacksonValue = new MappingJacksonValue(movieList); 
- 
-    mappingJacksonValue.setFilters(new SimpleFilterProvider().addFilter("movie",  
-      SimpleBeanPropertyFilter.filterOutAllExcept(user!=null && user.isAdmin() ? all : limited))); 
-   
-    return mappingJacksonValue; 
-  } 
-</code> 
 ===== @JsonView ===== ===== @JsonView =====
   * 객체의 필드를 선별적으로 직렬화 할 수 있다.   * 객체의 필드를 선별적으로 직렬화 할 수 있다.
java/jackson.txt · 마지막으로 수정됨: 2023/10/04 14:47 저자 kwon37xi