I have the following endpoint :
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE;
import static org.springframework.web.bind.annotation.RequestMethod.POST;
@RestController
public class TestController {
@RequestMapping(value = "/persons", method = POST, consumes = APPLICATION_JSON_VALUE, produces = APPLICATION_JSON_VALUE)
public ResponseEntity<Integer> create(@RequestBody Person person) {
// create person and return id
}
}
Today if I received a request with an unknown field like this :
{
"name" : "Pete",
"bijsdf" : 51
}
I create the person and ignore the unknown field.
How can I check that there's an unknown field and then return a bad request ?
Person
class annotated with@JsonIgnoreProperties(ignoreUnknown = true)
? – CuriaignoreUnknown
isfalse
. That means Jackson (I'm looking at 2.5.0 doc) by default throws exception for missing fields. – Curia