我使用的外部库有一个方法:
public class CustomUserDetails implements UserDetails {
private final User principal;
private final Collection<GrantedAuthority> authorities;
//constructor, getters, setters
@Override
public String getPassword() {
throw new UnsupportedOperationException("Not allowed");
}
}
我有一个@RequestMapping,它返回该对象的一个实例:
@RequestMapping(value = "/authorities", method = GET)
public ResponseEntity getAuthorities() {
return new ResponseEntity<>(authenticatedUser.getAuthentication(), HttpStatus.OK); //getAuthentication returns CustomUserDetails instance
}
我得到了
org.springframework.http.converter.HttpMessageNotWritableException: Could not write content: Not allowed
。
我该如何处理? Ingore或为此属性设置一些默认值。
UPD 我无法将@JsonIngore添加到该类,因为它不是我的库,我无法访问其来源。
答案 0 :(得分:0)
您可以在JsonIgnore
方法之上编写getPassword()
注释。这样您就可以告诉Jackon不要尝试对该字段进行序列化