[英]Exclude fields in Jersey2 Response
我正在開發Jersey2 RESTful服務
Jersey2 v2.22.2 + Spring3 v3.2.16 + Jax-rs v2.0.1
@Path("/v1/games")
public class GameServiceV1 implements IGameServiceV1 {
@Autowired
GameDAO gameDao;
@Autowired
CompanyDAO companyDao;
@Autowired
DMapper mapper;
@Override
@GET
@Produces({ MediaType.APPLICATION_JSON })
public List<GameDTO> getGamesByCity(@QueryParam("city") String cityID, @QueryParam("template") String template)
throws EscapeitorException {
List<Company> companies = companyDao.getCompaniesByCityId(cityID);
List<GameDTO> games = putCompaniesWithinGames(companies);
return games;
}
如果我收到@QueryParam template =“summary”,我需要排除一些GameDTO響應字段。
例如:
GET / rest / v1 / games?city = 1必須返回:
[
{
"id":"1",
"name":"Zombie Lab",
"company":"2",
"description":"Laboratorio zombie des",
"story":"historia",
"players":"2-5",
"length":60,
"mode":"Team",
"price":15.0,
"web":"http://zombielab.com/",
"image":null,
}]
然而,
GET / rest / v1 / games?city = 1? template = summary必須返回:
[
{
"id":"1",
"name":"Zombie Lab",
"description":"Laboratorio zombie des",
"web":"http://zombielab.com/",
}]
如何排除字段?
您可能想看看Spring Data REST中的預測 。 基本上,這允許您定義DAO / DTO字段的子集(投影)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.