Проверка подлинности Javax/Hibernate против Asset Springframework

Я хочу понять разницу между библиотекой Assert в Springframework и библиотекой валидаторов Hibernate/Javax. Допустим, у меня есть такой простой контроллер:

@RestController
@RequestMapping("/foo")
public class FooController {
    @RequestMapping(value = "/put", method = RequestMethod.PUT)
    public ResponseEntity<?> updateFoo(@RequestBody Foo foo) {
        //do stuff
    }
}

Если я хочу проверить входные данные, у меня есть 3 способа следующим образом.

Hibernate/Javax

@RestController
@RequestMapping("/foo")
public class FooController {
    @RequestMapping(value = "/put", method = RequestMethod.PUT)
    public ResponseEntity<?> updateFoo(@NotNull(message = "Foo cannot be null") @RequestBody Foo foo) {
        //do stuff
    }
}

public class Foo {
    @NotNull(message = "Id cannot be null")
    private Integer id;
    @NotEmpty(message = "Must have a non-empty description")
    private String description;
    @NotEmpty(message = "Must have a non-empty name")
    private string name;

    //constructors + getters
}

Утверждение Springframe's's Assert

@RestController
@RequestMapping("/foo")
public class FooController {
    @RequestMapping(value = "/put", method = RequestMethod.PUT)
    public ResponseEntity<?> updateFoo(@NotNull(message = "Foo cannot be null") @RequestBody Foo foo) {
        Assert.notNull(foo, "Foo cannot be null!");
        Assert.notNull(foo.getId(), "Id cannot be null!");
        //do stuff
    }
}

Я предпочитаю предпочитать Hibernate/Javax, так как он чувствует себя более интегрированным и требует меньше строк кода в методах контроллера, но есть ли какие-либо недостатки, связанные только с использованием методов проверки Javax/Hibernate?

0 ответов

Другие вопросы по тегам