1. 程式人生 > >005 使用SpringMVC開發restful API二--處理創建請求

005 使用SpringMVC開發restful API二--處理創建請求

ast matcher .post div null expec .json eat exce

一:主要任務

1.說明

  @RequestBody 映射請求體到java方法的參數

  日期類型參數的處理

  @Valid註解

  BindingResult驗證請求參數的合法性並處理校驗結果

二:@RequestBody

1.@RequestBody

  測試類

 1 /**
 2      * @throws Exception 
 3      * 
 4      */
 5     @Test
 6     public void whenCreateSuccess() throws Exception {
 7         String content="{\"username\":\"tom\",\"password\":null}";
8 mockMvc.perform(MockMvcRequestBuilders.post("/user") 9 .contentType(MediaType.APPLICATION_JSON_UTF8) 10 .content(content)) 11 .andExpect(MockMvcResultMatchers.status().isOk()) 12 .andExpect(MockMvcResultMatchers.jsonPath("$.id").value("1"));
13 }

  User.java

 1 package com.cao.dto;
 2 
 3 import com.fasterxml.jackson.annotation.JsonView;
 4 
 5 public class User {
 6     //接口
 7     public interface UserSimpleView {};
 8     public interface UserDetailView extends UserSimpleView {};    //繼承之後,可以展示父的所有
 9     
10     private String username;
11 private String password; 12 private String id; 13 14 @JsonView(UserSimpleView.class) 15 public String getUsername() { 16 return username; 17 } 18 public void setUsername(String username) { 19 this.username = username; 20 } 21 22 @JsonView(UserDetailView.class) 23 public String getPassword() { 24 return password; 25 } 26 public void setPassword(String password) { 27 this.password = password; 28 } 29 30 @JsonView(UserSimpleView.class) 31 public String getId() { 32 return id; 33 } 34 public void setId(String id) { 35 this.id = id; 36 } 37 38 }

  控制類

 1     @JsonView(User.UserDetailView.class)
 2     @PostMapping
 3     public User create(@RequestBody User user){
 4         System.out.println(user.getId());
 5         System.out.println(user.getUsername());
 6         System.out.println(user.getPassword());
 7         
 8         user.setId("1");
 9         return user;
10     }

三:日期類型的處理

1.說明

  使用時間戳。

2.

005 使用SpringMVC開發restful API二--處理創建請求