-
-
Notifications
You must be signed in to change notification settings - Fork 114
Closed
Description
Is your feature request related to a problem? Please describe.
Currently, the main purpose of the plugin is to generate server-side code (POJOs and interfaces).
The idea is to add support of client-side classes generation. This will allow users to build a GraphQL request.
Describe the solution you'd like
Schema example:
type Mutation {
newBike(bikeInput: BikeInput!): Bike
}
input BikeInput {
type: BikeType!
brand: String!
size: String!
price: BigDecimal
}
type Bike {
id: ID
type: BikeType
brand: String
size: String
price: BigDecimal
addedDateTime: DateTime
}Generated class:
public class NewBikeMutationRequest {
private BikeInput bikeInput;
//getters/setters
}
public class BikeInputTO {
private BikeTypeTO type;
private String brand;
private String size;
private String price;
public BikeInputTO() { }
//getters/settersThe end-user will then use these classes to build the request and response projection (open question for now). So that it will be serialized to the following request string:
mutation newBike {
newBike(bike: {
type: ROAD,
brand: "LOL",
size: "Big",
year: 2019,
price: "123.45"
}) {
id
addedDateTime
}
}Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request