对请求主体对象进行空检查

414

是否可以对null检查进行集成测试。我传递了空值。

HttpEntity<Employee> entity = new HttpEntity<Employee>(null, headers);
restTemplate.exchange(url, httpMethod, entity, String.class);

我收到以下错误。

{“ timestamp”:“ 2018-10-06T14:33:52.113 + 0000”,“ status”:400,“ error”:“ Bad Request”,“ message”:“缺少所需的请求正文:”}

@RestController
public class EmployeeController {

    @PostMapping(value = "/employee/save", produces = "application/json")
    public Employee save(@RequestBody Employee employee){
        if(employee==null){
            throw new RuntimeException("Employee is null");
        }
    }
}

class Employee {

}
hu
@RequestBody(required=false) Employee employee

请尝试使用@RequestBody中的必需选项。

这里的问题是spring mvc中的映射。

required

默认值为true,如果没有正文内容,则会引发异常。如果您希望在正文内容为null时传递null,则将其切换为false。

@RequestBody Employee employee

如果employee不为null,则仅处理您的方法的请求。然后,它考虑了正确的映射并将请求传递给此方法并进行处理。因此,此处的check null条件将是不必要的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章