0

私は apollo-server-express と一緒に graphql-tag を使用して接続し、API の graphQL エンドポイントを構築します。現時点では、次のようなスキーマ定義を作成します。

プロパティ.js

let model = {}
const typeDefs = gql`
    extend type Query {
        property(id: Int!): [Property]
    }
    
    type Property {
        title: String
        street: String
        postalcode: String
        city: String
        country: String
    }
`
const resolvers = {
    Query: {
        property: getTheEntriesFromDB,
    },
}

model.typeDefs = typeDefs;
model.resolvers = resolvers;

module.exports = model;

およびserver.js

const server = new ApolloServer({
    modules: [
        require('./modules/properties'),
    ],
}):

ただし、データベース スキーマに基づいて「プロパティ」タイプを自動的に作成したいと考えています。次のような GraphQLObjectType を作成できることがわかりました。

const propertyType = new graphql.GraphQLObjectType({
    name: 'Property',
    fields: {
        title: { type: graphql.GraphQLString },
        street: { type: graphql.GraphQLString },
        postalcode: { type: graphql.GraphQLString },
        city: { type: graphql.GraphQLString },
        country: { type: graphql.GraphQLString },
    }
});

しかし、これを組み合わせる方法がわかりません

let model = {}
const typeDefs = gql`
    extend type Query {
        property(id: Int!): [Property]
    }
`
const resolvers = {
    Query: {
        property: getTheEntriesFromDB,
    },
}

model.typeDefs = typeDefs;
model.resolvers = resolvers;

module.exports = model;

最終的なスキーマを作成します。誰かが私を正しい方向に向けることができますか? どんな助けでも大歓迎です。よろしくお願いします!

4

1 に答える 1