https://github.com/cristian-sknz/productql
Uma simples API de produtos utilizando GraphQL e Spring Framework
https://github.com/cristian-sknz/productql
graphql java spring-boot
Last synced: 3 months ago
JSON representation
Uma simples API de produtos utilizando GraphQL e Spring Framework
- Host: GitHub
- URL: https://github.com/cristian-sknz/productql
- Owner: Cristian-Sknz
- Created: 2021-10-24T05:59:55.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2021-10-24T06:01:49.000Z (over 3 years ago)
- Last Synced: 2025-01-22T20:35:15.723Z (5 months ago)
- Topics: graphql, java, spring-boot
- Language: Java
- Homepage:
- Size: 61.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Spring Framework com GraphQL
Este pequeno projeto, serviu como aprendizado, pois nele implementei o GraphQL junto ao Spring.
## Sobre
Foi utilizado o H2 Database como banco de dados, e ele irá funcionar em memoria, ou seja sempre que reiniciado ele ira apagar os dados gerados anteriormente.Ao iniciar a aplicação alguns dados serão adicionados automaticamente no banco de dados.
`schema.graphqls`
```graphql
# Models
type Product {
id: ID!,
name: String,
price: Float,
category: Category
}enum Category {
FOOD
UTILITY
AUTOMOTIVE
HOME_APPLIANCES
UNDEFINED
}#Inputs
input ProductInput {
name: String,
price: Float,
category: Category
}# Queries
type Query {
getAllProducts: [Product],
getProductById(id: Int): Product
}
# Mutations
type Mutation {
saveProduct(product: ProductInput): Product,
deleteProduct(id: Int): Boolean
}
```
#### Exemplo de Query:
```graphql
query {
getAllProducts {
id
name
category
price
}
}
```#### Exemplo de Mutation:
```graphql
mutation ($input: ProductInput) {
saveProduct(product: $input) {
id
name
category
price
}
}
```#### Exemplo de Subscription:
Nenhuma Subscription foi adicionada neste projeto.### Dependencias utilizadas:
Implementações:
* Spring Data JPA
* Spring Web
* H2 Database
* GraphQL Spring Boot Starter
* GraphQL Java ToolsDesenvolvimento:
* Spring DevTools
* GraphiQL (UI Interface)