【发布时间】:2017-10-17 08:44:48
【问题描述】:
我有一个像下面这样的控制器,
@RequestMapping(value = "rest/v1/tester")
public class TestController {
@RequestMapping(value = "/search", method = RequestMethod.GET)
public ResponseEntity<SampleResults> search(@ModelAttribute("criteria")SampleCriteria criteria) throws Exception {
SampleResults sampleResults = sampleService.search(criteria);
return new ResponseEntity<>(sampleResults, OK);
}
}
我有另一个这样的控制器,
@RequestMapping(value = "rest/v1/second")
public class SecondTestController {
@RequestMapping(value = "/search", method = RequestMethod.GET)
public ResponseEntity<SampleResults> search(@ModelAttribute("criteria")SampleCriteria criteria) throws Exception {
SampleResults sampleResults = secondsampleService.search(criteria);
return new ResponseEntity<>(sampleResults, OK);
}
}
我的结果结构如下:
public class SampleResults extends Results<SearchSummary, Sample> {
}
这从结果类扩展:
public class Results<SUMMARY,RESULTS> {
private SUMMARY summary;
private List<RESULTS> results;
/*Constructors, getters and setters*/
}
现在我要设置到结果字段中的模型是,
@JsonDeserialize(as = SampleImpl.class)
public interface Sample {
Long getId();
void setId(Long id);
String getName();
void setName(String name);
int getAge();
void setAge(int age);
}
public class SampleImpl implements Sample {
private Long id;
private String name;
private int age;
/* Getters and Setters */
}
现在对于上面提到的 TestController,我想显示 json 响应中的所有字段,而在 SecondTestController 中,我想屏蔽(不显示)json 响应中的年龄属性。我怎样才能在春天实现这一目标。非常感谢任何帮助!
【问题讨论】:
-
this 有帮助吗?
标签: json spring-mvc spring-boot jackson