005 使用SpringMVC開發restful API二--處理創建請求
阿新 • • 發佈:2018-09-26
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二--處理創建請求