<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ## 枚舉 枚舉類型是一種特殊的標量,它的值僅限于一組特定的允許值(詳情請參閱[這里](https://graphql.org/learn/schema/#enumeration-types))。這允許你: - 驗證此類型的任何參數都是允許值之一 - 通過類型系統傳遞一個字段,這個字段始終是一組有限的值之一 ### 代碼優先 當使用代碼優先方式時,你只需通過創建一個 TypeScript 枚舉變量來定義一個 GraphQL 枚舉類型。 ```typescript export enum AllowedColor { RED, GREEN, BLUE, } ``` 在這里,我們使用 `@nestjs/graphql` 包里的 `registerEnumType` 函數來注冊 `AllowedColor` 枚舉。 ```typescript registerEnumType(AllowedColor, { name: 'AllowedColor', }); ``` 現在你可以在我們的類型中引用 `AllowedColor`: ```typescript @Field(type => AllowedColor) favoriteColor: AllowedColor; ``` 最終的結果是在 SDL 中生成以下部分的 GraphQL schema: ```graphql enum AllowedColor { RED GREEN BLUE } ``` 要為枚舉提供描述,可以將`description` 屬性傳遞給 `registerEnumType()` 函數。 ```typescript registerEnumType(AllowedColor, { name: 'AllowedColor', description: 'The supported colors.', }); ``` 要為枚舉值提供描述,或將值標記為已棄用,可以傳遞 `valuesMap` 屬性,如下所示: ```typescript registerEnumType(AllowedColor, { name: 'AllowedColor', description: 'The supported colors.', valuesMap: { RED: { description: 'The default color.', }, BLUE: { deprecationReason: 'Too blue.', }, }, }); ``` 最終在 SDL 中生成的 GraphQL schema 如下所示: ```graphql """ The supported colors. """ enum AllowedColor { """ The default color. """ RED GREEN BLUE @deprecated(reason: "Too blue.") } ``` ### 模式優先 在模式優先方式中定義一個枚舉器,只需在 SDL 中創建一個 GraphQL 枚舉類型。 ```graphql enum AllowedColor { RED GREEN BLUE } ``` 然后,你可以使用類型生成功能(如[快速開始](https://docs.nestjs.com/graphql/quick-start)章節所示)生成相應的 TypeScript 定義。 ```typescript export enum AllowedColor { RED GREEN BLUE } ``` 有時,后端會在內部強制使用與公共 API 不同的枚舉值。在這個例子中,API 包含 `RED`,然而在解析器中我們可能會使用 `#f00` 來替代(詳情請參閱[此處](https://www.apollographql.com/docs/apollo-server/schema/custom-scalars/#internal-values))。為此,需要給 `AllowedColor` 枚舉聲明一個解析器對象: ```typescript export const allowedColorResolver: Record<keyof typeof AllowedColor, any> = { RED: '#f00', }; ``` > 所有裝飾器都是從 `@nestjs/graphql` 包里導出。 然后,將此解析器對象與 `GraphQLModule#forRoot()` 方法的 `resolvers` 屬性一起使用,如下所示: ```typescript GraphQLModule.forRoot({ resolvers: { AllowedColor: allowedColorResolver, }, }); ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看