使用json字符串作为正文发布请求并向其添加验证

时间:2016-02-19 10:51:59

标签: json spring spring-boot

我正在尝试将字符串输入添加到spring启动应用程序。内容类型是json,我正在尝试为其添加验证。

@RestController
@RequestMapping(value = "/entries")
public class SampleController {

    @RequestMapping(method = RequestMethod.DELETE)
    @ResponseStatus(value = HttpStatus.NO_CONTENT)
    public void delete(@RequestBody @NotBlank(message = "{field.required}") String username) throws Exception {
        //some logic
    }

}

由于某些原因,@Notblank注释不起作用。

这是正确的做法。

2 个答案:

答案 0 :(得分:2)

一种方法是创建一个模型/ dto类,并在此类中的String上定义@NotBlank。然后只需更改您的控制器代码:

    @RequestMapping(method = RequestMethod.DELETE)
    @ResponseStatus(value = HttpStatus.NO_CONTENT)
    public void delete(@RequestBody @Valid MyClass myClass) throws Exception {
        ...
    }

要获得更多见解,请查看here

答案 1 :(得分:1)

您无法在方法参数上使用这些验证。 如果需要验证,则需要将参数绑定到对象上。然后,您只需添加@Valid注释。 请参阅此example