Comments (6)
I found a weird behavior, probably it deserves another bug, but I think I should start here.
When schema definition is wrapped in gql
template all the descriptions are lost. It does not matter if the string is inlined or loaded from a file.
I am using [email protected]
, here's the part of schema:
type PlaylistShort implements PlaylistInterface {
# integer ID: 123 (RO)
id: ID!
# playlist title: "S-Bahn Sounds" (RW)
title: String
# (RW)
tracks: [TrackShort]
}
And here's what is returned by introspection query:
All description fields are empty...
Apollo server creation code:
const typeDefs = readFileSync(path.join(__dirname, 'src', 'apollo', 'schema.graphqls')).toString();
export const apolloServer = new ApolloServer({
typeDefs: gql`${typeDefs}`,
resolvers,
introspection: true,
tracing: true,
context: ({req}) => ({
authHeader: req.headers['authheader']
})
});
If I replace
typeDefs: gql`${typeDefs}`
... with
typeDefs: typeDefs,
... it starts to work as expected.
from apollo-server.
This was added in graphql/graphql-js#464
and now works as a # comment in the schema string:
https://github.com/apollostack/GitHunt-API/blob/master/api/schema.js#L9
from apollo-server.
The GraphQL schema language doesn't support descriptions at the moment (only deprecation, via decorators), but you can do it via resolvers. Check out this test to see how it works: https://github.com/apollostack/graphql-tools/blob/00d01eba94e8dbd21973e71b3cfd4361fdd8961d/test/testSchemaGenerator.js#L389
If you want to set a description on a type (as opposed to a field), you can do that by adding a __description
field on the type (in resolvers, not in the schema). I know it's not ideal, but it's a temporary solution until a description PR (graphql/graphql-js#427) is merged in GraphQL.js
from apollo-server.
That doesn't seem bad, thanks!
from apollo-server.
Also, thank you so much for the lightning responses Jonas, you're awesome!
from apollo-server.
same issue with @kirill-konshin ... don't know it's designed by that or it's an issue.
Could we create another issue for this?
from apollo-server.
Related Issues (20)
- Elasticache cluster - CROSSLOT Keys in request don't hash to the same slot HOT 4
- Unable to package/deploy with serverless using Node14 and apollo-serverless-core HOT 3
- ApolloServerPluginUsageReporting does not allow to pass http agent HOT 11
- Misconfigured `sendVariableValues` results in similar behavior as `{all: true}` HOT 3
- ApolloServerPluginUsageReporting does not allow to pass http agent HOT 2
- Apis that have their requests cached dont need to make unnecessary auth token fetches
- Document known mitigated security issue in `@koa/cors` for AS3 users HOT 1
- Update `@koa/cors` dependency for AS3 (or why we don't intend to) HOT 2
- Share and modify variables between Express and the GraphQL/Apollo server HOT 1
- Error: ApolloServer<BaseContext>' is not assignable to type 'ApolloServer<ExpressContext> HOT 3
- callback function for onSchemaLoadOrUpdate when upgrading from AS v3 to AS v4 HOT 3
- Allow plugins to throw meaningful GraphQL errors
- Getting started tutorial has typescript issues...
- Delay when subscription is closed on client side of the router when using callback
- Documentation and dynamic cache control feature of Apollo leverages incompatible GraphQl type interface. HOT 3
- Disabling introspection should also disable "Did you mean ...?" HOT 2
- Undefined 'code' TypeError within errorNormalize HOT 1
- Link broken for plugin
- The server crashes if a promise with deferred handling rejects while another promise is trying to resolve HOT 7
- Upgrade Express version to mitigate the Open Redirect Vulnerability in Express.js for malformed URLs, specifically targeting versions below 4.19.2. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from apollo-server.