2016-04-02 20 views
1

Im gelişmekte Jersey2 dinlendirici ServisJersey2 Tepki alanları dışla

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; 
    } 

Ben @QueryParam şablonu alırsanız = "özeti" Bazı GameDTO yanıt alanlarını hariç tutmam gerekiyor.

GET/dinlenme/v1/oyunlar şehir = 1 olmalıdır dönüş:? Ancak

[ 
    { 
    "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/dinlenme/v1/oyunlar şehir = 1 Örneğin

? template = özeti dönmek gerekir:

[ 
    { 
    "id":"1", 
    "name":"Zombie Lab", 
    "description":"Laboratorio zombie des", 
    "web":"http://zombielab.com/", 
    }] 

nasıl alanları hariç tutabilirim?

+0

http://stackoverflow.com/a/36175349/1426227 –

cevap

0

Spring Data REST'de projections'a göz atmak isteyebilirsiniz. Temel olarak bu, DAO/DTO alanlarınızın alt kümelerini (projeksiyonlarını) tanımlamanıza olanak tanır.

+0

Teşekkür ederim wero. Kullanışlı olabilir ama Spring Data Rest kullanmıyorum – sebascastillo