验证订单

我们的``类应该先验证进入系统的订单请求,然后再来处理他们。一起来添加下面的端点:

@RestController @RequestMapping("/bookings") 
public class BookingsResource {  
    @RequestMapping(method = RequestMethod.POST)  
    public ApiResponse book(@Valid @RequestBody BookingRequest request) {    
        BookingResponse response = bookingService.book(request);    
        return new ApiResponse(Status.OK, response);  
    } 
}

当POST请求发送到/bookings/时这个方法将会被调用。通过简单添加@Valid注解到这个方法,Spring将会保证进入的订单请求首先会运行通过我们定义的验证规则。

例如,使用Postman,我们可以发送如下所示POST请求:

{  
    "roomId":1,  
    "dateRange": {
        "from":"2017-01-01","to":"2017-01-02"},  
        "customerName":"Jane Doe",  "creditCardDetails": {    
            "cardNumber": "0111-1111-1111-1111",    
            "cardOwner": "John Doe",    
            "expiration": "01/20",    
            "cvv": "020"  
        } 
    } 
}

由于身份证号没有通过验证(它以0开始了),服务将响应一个400 BadResponse错误。

results matching ""

    No results matching ""