μλ νμΈμ,
λ°©κΈ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ λ°μ΄νΈνλλ° μ κ·Έλ μ΄λνλ λ° λ¬Έμ κ° μμ΅λλ€. λ³κ²½ μμ΄ κΈ°λ₯μ μ μ€νμΌλ‘ λ§μ΄κ·Έλ μ΄μ νλΌλ κ²½κ³ μ ν¨κ» μμλλ‘ μλν©λλ€. μλμ κ°μ΄ νμν λ³κ²½μ μννλ©΄ {args}μ {args.name}μ΄ λͺ¨λ μ μλμ§ μμμ μ μ μμ΅λλ€. μ½λλ λ€μκ³Ό κ°μ΅λλ€.
const restLink = new RestLink({
uri: 'https://avoindata.prh.fi/bis/v1',
typePatcher: {
BusinessPayload: data => ({
...data,
results: data.results.map(business => ({
__typename: 'Business',
...business
}))
})
}
});
const client = new ApolloClient({
link: restLink,
cache: new InMemoryCache()
});
const query = gql`
query($name: String!) {
companies(name: $name)
@rest(
type: "BusinessPayload"
path: "?totalResults=false&maxResults=10&resultsFrom=0&name={args.name}"
) {
results {
name
businessId
}
}
}
`;
// And then call the query:
client.query({ query, variables: { name: value } });
λ΄κ° λκ°λ₯Ό λμΉκ³ μμ΅λκΉ?
κ°μ λ¬Έμ μ λλ€. μλ‘μ΄ {args.id} μ€νμΌμ μ¬μ©νμ¬ μ μλμ§ μμμ΅λλ€.
λλ¨ν μΊμΉ @karensg @haipengz -- μ΄κ²μ λμκ² μ€μν μ°μ μμμ΄μ§λ§ μ΄μ μ΄ λ³κ²½ μ¬νμ μμ ν ν μ€νΈν μ μκΈ° μ μ μ€λ¨λμμ΅λλ€.
@karensg κ΅¬λ¬Έμ΄ μλν΄μΌ νμ§λ§(κ·Έλ μ§ μμ λ²κ·Έμ), μ λ APIλ₯Ό μ½κ° λ€λ₯΄κ² μ¬μ©νλλ‘ μλνμ΅λλ€.
λμ : path: "?totalResults=false&maxResults=10&resultsFrom=0&name={args.name}"
λλ κ·Έκ²μ μλνλ€: path: "?totalResults=false&maxResults=10&resultsFrom=0&{args}"
{args}
λλ {args.query.deeper}
λ ν€ κ²½λ‘κ° κ°λ¦¬ν€λ κ°μ²΄λ₯Ό κ°μ Έμ 쿼리 λ¬Έμμ΄λ‘ λ³νν©λλ€. λ°λΌμ κ·νμ μν©μμ &{args}
λ { name: "foo" }
κ° &name=foo
κ° λ©λλ€. μ¬κΈ°μ fooλ μλμΌλ‘ encodeURIComponent
νΈμΆλ©λλ€.
λλ μ΄κ²μ λ λ²μ§Έλ‘ μ¦κ°μ μΈ μ΅μ°μ κ³Όμ λ‘ μκ°νμ§λ§ μ§μ₯μμ νμ¬λ₯Ό μ§μνκ³ μμΌλ―λ‘ μ€νκΉμ§ μμ μ μνν μ μμ΅λλ€. μΌλ°μ μΌλ‘ μ¬λ¬λΆμ΄ μ 곡ν μ μλ λͺ¨λ λμμ κ°μ¬λ립λλ€. #apollo-link-rest roomμ ApolloGraphQL slackμμ μ λ₯Ό μ°Ύμ μ μμ΅λλ€.
μ λ§ μ μ©νκ±°λ μμ μλλ₯Ό λμΌ μ μλ ν κ°μ§λ μ¬μ© μ€μΈ κ° μ¬λ‘μ λν λ¨μ ν μ€νΈλ₯Ό μν λͺ κ°μ§ μ½λμ λλ€.
v0.4.1μμ μμ λ¨: https://github.com/apollographql/apollo-link-rest/releases/tag/v0.4.1 κ·Έλλ νμλλ©΄ μλ €μ£ΌμΈμ!
@fbartho μμ
λ€μ νλ² κ°μ¬ν©λλ€!
v0.4.1λ‘ μ
κ·Έλ μ΄λν ν μλ‘μ΄ {args.id} μ€νμΌμ΄ μ΄μ μ κ²½μ°μ μλνλ©° λ μ΄μ μ μλμ§ μμμ΅λλ€.
...
const GET_DOG_IMAGES_BY_BREED = gql`
query breeds ($breed: String!) {
imagesByBreed(breed: $breed) @rest(
type: "imagesByBreedResult"
path: "breed/{args.breed}/images"
endpoint: "dogApi"
) {
status
message
}
}
`
...
<Query query={GET_DOG_IMAGES_BY_BREED}
notifyOnNetworkStatusChange
variables={{ breed: 'hound' }}
>
{({ refetch, error, data, networkStatus, }) => {
expect(error).toBeUndefined()
expect(data).toBeDefined()
}}
</Query>
...
κ°μ₯ μ μ©ν λκΈ
v0.4.1μμ μμ λ¨: https://github.com/apollographql/apollo-link-rest/releases/tag/v0.4.1 κ·Έλλ νμλλ©΄ μλ €μ£ΌμΈμ!