91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

spring學習之參數傳遞與檢驗詳解

發布時間:2020-10-04 00:13:35 來源:腳本之家 閱讀:166 作者:沉淀 欄目:編程語言

前言

Spring是于2003 年興起的一個輕量級的Java 開發框架,非常受現在開發者的喜愛,下面這篇文章主要給大家介紹了關于spring參數傳遞與檢驗的相關內容,分享出供大家參考學習,下面來一起看看詳細的介紹:

一、背景

在spring請求時,要對參數進行檢查,以前一直使用如下方式來獲取參數,在參數特別多的時候,代碼很不簡潔。

String userId= request.getParameter("userId");

后來使用注解@RequestParam代碼整潔了好多

@RequestParam(value = "userId",required=true) String userId

后來對于參數比較多的情況,使用一個bean來接收請求參數

@RequestMapping(value="/saveUser")
public String saveUser(User user) {}

對于比較復雜,有層級關系情況,使用注解@RequestBody實現

public String setUser(@RequestBody String userInfo) {
 //使用fastjson轉換為實體類
}

不管使用以上的哪種方式都要對參數進行校驗,如果一個個參數的檢查是否為空,檢查邊界范圍,會導致代碼很多。使用@Valid注解來對參數進行校驗能讓代碼更整潔。

二、使用

本文以實體類接收請求參數為例簡單講解,validation一共有hibernate-validator,javax.validation和spring-validator三種注解,本文主要是簡單講解一下javax.validation的使用

@RequestMapping(value="/saveUser")
@ResponseBody
public JSONObject saveUser(@Valid User user, BindingResult result){
  JSONObject jsonObject = new JSONObject();
  //判斷是否檢驗錯誤信息
  if(result.hasErrors()){
   //取出第一條錯誤信息返回
   List<FieldError> list = result.getFieldErrors();
   String errorMessage = CollectionUtils.isEmpty(list)?
     "參數錯誤!":list.get(0).getDefaultMessage();
   jsonObject.put("errorMessage",errorMessage );
   return jsonObject;
  }
  //saveUser保存用戶信息模塊省略
  jsonObject.put("errorMessage","success");
  return jsonObject;
 }
//使用lombok
@Data
public class User implements Serializable{
 @NotNull(message = "用戶id不能為空")
 @Pattern(regexp="^\\d{12}$",message = "用戶id非法")
 private String userId;
 private String userName;
 private int age;
}
  • 使用@Valid注解進行參數檢查
  • 在沒有使用BindingResult時,程序會拋出空指針等異常信息,不能返回自定義信息,網上查了一下需要使用BindingResult來處理Error信息,自定義返回錯誤數據。
  • @NotNull,@Pattern,@Size,@Max,@Min,@Digits是我在項目中經常使用的注解

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

友谊县| 漳州市| 蓝山县| 得荣县| 嘉禾县| 瑞昌市| 乐亭县| 襄垣县| 德庆县| 阿拉善左旗| 威海市| 滦平县| 桦甸市| 大方县| 江都市| 元朗区| 嫩江县| 贡觉县| 西盟| 闸北区| 龙口市| 通辽市| 全州县| 酒泉市| 灵丘县| 盈江县| 永宁县| 丰宁| 视频| 龙山县| 宣恩县| 新竹市| 新乐市| 雷波县| 泰来县| 元朗区| 高要市| 宜兰市| 灵台县| 阳东县| 偏关县|