如何在 jax-rs 检查正文

我正在制作 API Rest 后端,稍后用 Angular 进行补充,我一直在想是使用 Jersey 还是 Spring Web,我选择了 Jersey。


我实际的 Profesor.class 有 3 个参数;姓名、年龄和主题。但是当我用 Postman 发送下一个 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();

    }

    ...


慕田峪9158850
浏览 64回答 1
1回答

梦里花落0921

默认情况下,spring 和 jersey 中的请求 bean (Professor) 不会进行验证。如果您需要请求 bean 验证,您应该根据您的情况在 bean 类(Professor)中添加额外的验证登录名。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java