Talvez não tenha sido tão claro no meu questionamento. Vamos lá.
Eu tenho objetos que são somente porta de entrada para meus serviços, conhecidos como DTO's. não vejo necessidade a criação de getters e setters nele (claro que há quem concorde/discorde) pois basicamente irei converter esses dados de entrada em minhas classes de negócio através de um mapper da vida.
O questionamento é que quando eu faço um @Post da seguinte maneira:
@Consumes("application/json")
@Post("/api/cartoes/desbloqueio/inicial")
public void meuMetodo(MeuDTO bind) {
...
}
Onde
public class MeuDTO {
public Integer campo1;
public String campo2;
public String campo3;
}
quando faço essa requisição, funciona perfeitamente, porém quando realizo um @Get do tipo:
@Consumes("application/json")
@Get("/api/cartoes/{bind.campo1}/{bind.campo2}")
public void meuMetodo(MeuDTO bind) {
...
}
no @Get nao permite iniciar pois ele informa erro na atribuição, permitindo somente quando eu crio os getters/setters.
@Marcio, não vejo necessidade o caso de toda vez ter que criar metodos getters and setters em DTOs sendo que os mesmos não irão encapsular nada, basicamente são utilizados para a transferencia de dados e posteriormente repassará os dados para uma classe do meu model (que possuirão seus respectivos getters/setters) e serão passadas para meus serviços que não conhecem meus DTO's.
resumindo em código.
Cliente cli = MeuMapper.convert(bind);
meuService.realizaProcedimento(cli);