单个@RestController端点的自定义序列化

时间:2017-10-02 15:22:55

标签: spring-boot jackson

是否有办法(最好是某种类型的注释)为@RestController中的单个端点注册自定义序列化程序?扩展bean并在其上放置@JsonSerialize将是一个选项,但这需要一个非常无用的新bean类。我尝试了以下方法:

@JsonSerialize(using = CustomSerializer.class)
@RequestMapping(value = "/some_endpoint/", method = RequestMethod.GET)
public SomeType someEndpoint() {
    return someObject;
}

@JsonSerialize注释在该上下文中似乎对Spring没有任何意义。是否有替代方案或额外的bean类是我唯一的选择?

1 个答案:

答案 0 :(得分:0)

您可以在要添加或忽略的属性以及要应用该视图的方法中使用void M() { { int j = 1; { int j = 2; } } } ,例如:

@JsonView(View.Summary::class)

,然后在控制器中:

public class View {
    public interface Summary
} 

public class A{
@JsonView(View.Summary.class)
private String serialized = "",
private String notSerialized = ""}

如果要反转JsonView(对没有视图的属性进行序列化)。您可以添加以下属性:@JsonView(View.Summary.class) @GetMapping("/") @ResponseBody public A getA(){ return A() }