中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

如何在GraphQL查詢中實現數據校驗和輸入驗證

發布時間:2024-05-11 14:29:12 來源:億速云 閱讀:68 作者:小樊 欄目:web開發

在GraphQL查詢中實現數據校驗和輸入驗證可以通過使用輸入類型(Input Type)和自定義指令(Custom Directive)來實現。以下是一些方法:

  1. 使用輸入類型(Input Type):定義一個輸入類型來封裝需要驗證的輸入數據,并在查詢字段中使用該輸入類型。在輸入類型中可以定義字段的數據類型和必填性,并在解析查詢時對輸入數據進行驗證。
input UserInput {
  name: String!
  age: Int!
}

type Mutation {
  createUser(input: UserInput): User
}
  1. 使用自定義指令(Custom Directive):定義一個自定義指令來對查詢字段進行輸入驗證,可以在需要驗證的查詢字段上應用該自定義指令。在自定義指令中可以定義驗證規則,并在執行查詢時對輸入數據進行驗證。
directive @validateInput(rules: [ValidationRule!]!) on FIELD_DEFINITION

type Mutation {
  createUser(name: String! @validateInput(rules: [{rule: "isLength", min: 3}]), age: Int! @validateInput(rules: [{rule: "isInt"}])): User
}
  1. 在解析器函數中進行數據校驗:在解析器函數中可以對傳入的參數進行數據校驗,如果數據不符合要求,則拋出錯誤。
Mutation: {
  createUser: async (_, { input }) => {
    if(!input.name || input.name.length < 3) {
      throw new Error('Name must be at least 3 characters long');
    }
    if(!Number.isInteger(input.age)) {
      throw new Error('Age must be an integer');
    }
    // create user logic
  }
}

通過以上方法,可以在GraphQL查詢中實現數據校驗和輸入驗證,確保傳入的數據符合預期的格式和要求。

向AI問一下細節

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

AI

绥德县| 梨树县| 梁河县| 东宁县| 黔西县| 高碑店市| 敦煌市| 南郑县| 桐梓县| 麻城市| 普陀区| 什邡市| 五大连池市| 威海市| 隆德县| 马鞍山市| 吴堡县| 穆棱市| 封开县| 前郭尔| 舒城县| 宾阳县| 纳雍县| 建水县| 华宁县| 洛川县| 拉萨市| 海丰县| 德州市| 五常市| 阿拉善盟| 遵化市| 花莲市| 小金县| 郓城县| 蒙阴县| 舒兰市| 炉霍县| 宁安市| 万宁市| 浦东新区|