# Reusable GraphQL schema directives

DevFeed: [Reusable GraphQL schema directives](<https://devfeed.tech/articles/reusable-graphql-schema-directives-23291.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/eusable-graphql-schema-directives>)

Author: Ben Newman

Published: 2018-03-15T21:16:00Z

Content type: tutorial

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [GraphQL](<https://devfeed.tech/topics/graphql.md>), [API](<https://devfeed.tech/topics/api.md>), [Structured-data](<https://devfeed.tech/topics/structured-data.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [apis](<https://devfeed.tech/tags/apis.md>), [applications](<https://devfeed.tech/tags/applications.md>), [building](<https://devfeed.tech/tags/building.md>), [caching](<https://devfeed.tech/tags/caching.md>), [development](<https://devfeed.tech/tags/development.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [examples](<https://devfeed.tech/tags/examples.md>), [feature](<https://devfeed.tech/tags/feature.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [programming](<https://devfeed.tech/tags/programming.md>), [programming-language](<https://devfeed.tech/tags/programming-language.md>), [resolvers](<https://devfeed.tech/tags/resolvers.md>), [schema](<https://devfeed.tech/tags/schema.md>), [sdl](<https://devfeed.tech/tags/sdl.md>), [server](<https://devfeed.tech/tags/server.md>), [software](<https://devfeed.tech/tags/software.md>), [structure](<https://devfeed.tech/tags/structure.md>), [tools](<https://devfeed.tech/tags/tools.md>), [types](<https://devfeed.tech/tags/types.md>)

## AI overview

This article explains reusable GraphQL schema directives and how SDL can annotate types, fields, and arguments to modify schema structure or runtime behavior. It introduces tools and examples for implementing custom directives, with applications including authorization, resolver generation, internationalization, identifiers, caching, and field deprecation.

## Source excerpt

No matter what programming language or software stack you choose for your GraphQL server, the Schema Definition Language (SDL for short) is the lingua franca shared by everyone building GraphQL APIs: Describing the structure and types of your data is the first step to doing anything with GraphQL, and the essence of SDL-first development. The formal specification of this shared language can be found here, though you shouldn't feel intimidated by that formalism.