# Inyeccion de parametros
@RequestHeader(..), @PathVariable, @RequestParam
-value: nombre del parametro, si no se establece, es el n9oombre de variable
-defaultValue: valor por defecto, si se establece el parametro es opcional
-required: SE indica si es requerido (true o false)
Ejemplo:
```
@RequestHeader(..)
@RequestMapping(value=ECHO + ID, method = RequestMethod.Get)
public String echo(@RequestHeader(value="token", required = false) String token, @PathVariable(value="id")int id,
@RequestParam(defaultValue = "Non")String param){
String response = "{\id":%d,\"token\":\"%s\",\"param\":\"%s\"}" ;
return String.format(response, id,token, param);
}
//para recuperar un dto
@RequestMapping(value=BODY, method = RequestMethod.Post)
public Dto body(@RequestBody Dto dto){
return dto;
}
//lista de String
@RequestMapping(value=BODY + STRING_LIST, method = RequestMethod.Get)
public List<String> bodyStringList(){
return Arrays.asList("uno","dos", "tres");
}
//lista dtos
@RequestMapping(value=BODY + STRING_LIST, method = RequestMethod.Get)
public List<Dto> bodyDtoList(){
Dto1 dto1 = new Dto1(666,"daemon");
Dto2 dto2 = new Dto2(45,"list");
return Arrays.asList(dto1,dto2);
}
```
# datos del cuerpo
Se inyecta mediante la anotacion: @RequestBody
Por defecto se transporta en JSON
@jsonIgnore: para aquellos campos que no quieramos que sean json
@jsonInclude(include.NON_NULL) para que no sea añada a la respuesta si es null
Listas: List<String>, List<Integer>