是否可以对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 {
}
@RequestBody(required=false) Employee employee
请尝试使用@RequestBody中的必需选项。
这里的问题是spring mvc中的映射。
required
默认值为true,如果没有正文内容,则会引发异常。如果您希望在正文内容为null时传递null,则将其切换为false。
@RequestBody Employee employee
如果employee不为null,则仅处理您的方法的请求。然后,它考虑了正确的映射并将请求传递给此方法并进行处理。因此,此处的check null条件将是不必要的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句