Как проверить тело на Jax-RS - PullRequest
0 голосов
/ 19 сентября 2019

Я делаю и API Rest бэкэнд, который позже будет дополнен угловым, я подумал, если я использую Джерси или Spring Web, я пошел на Джерси.

Мой настоящий Profesor.class имеет 3 параметра;имя, возраст и предмет.Но когда я отправляю следующий JSON с Почтальоном:

 {
    "name":"bob",
    "age":"21",
    "asd":"qwe"
}

Это не дает ошибки, работает и добавляет профессора с нулевым предметом в MySQL, я хочу, чтобы Ответ от Джерси сказал мне кое-чтокак «неправильная модель» или что-то в этом роде, и не попадать в БД.Это ответ, который я получаю:

{
    "name": "bob",
    "age": 21,
    "subject": null
}

Есть идеи?Вот как на самом деле работает мой контроллер (я использую Spring Boot)

@Path("/create")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public class CreaterController {

    @Autowired
    CreateService createService;

    @POST
    @Path("/profesor")
    public Response createProfesor(Profesor profesor) {
        return createService.crearProfesor(profesor);
        }
    ....

А это мой CreateServiceImpl

@Service
public class CreateServiceImpl implements CreateService {

    @Autowired
    private ProfesorDao profesorDao;
    @Autowired
    private AlumnoDao alumnoDao;
    @Autowired
    private MateriaDao materiaDao;

    public Response crearProfesor(Profesor profesor) {
        System.out.println("Creando nuevo profesor...");
        return Response.ok(profesorDao.save(profesor)).build();
    }
    ...

1 Ответ

0 голосов
/ 19 сентября 2019

По умолчанию проверка bean-компонента (Профессора) не выполняется ни в пружине, ни в джерси.

Если вам требуется проверка bean-компонента запроса, вы должны добавить дополнительный логин проверки в вашем классе бина (Профессор) втвой случай.Добавление проверки бобов может быть разным для Джерси и Спринг. Для получения более подробной информации о

...