Build Spring Boot REST endpoints (APIs) by defining entities and CRUD operations. The grammar of this DSL automatically generates the Spring Boot REST files (application, entity, repository, service and controller classes, pom file, etc.). Once generated the files (under src-gen folder), you can run the project (structured as a Maven project) either using a command-line console (with the command: mvn spring-boot:run
) or importing the Maven project using a Java IDE.
Once installed this plugin, open a new project (generic project), new file (remember to use the .g2 as extension file). Select yes in case a window prompts you to convert the project to an Xtext project, this in order to generate the code each time you save the source file (.g2 file).
Click in this link to see an example of the language grammar.
This example will produce the corresponding Spring Boot Java files such as: Car.java
(entity), CarRepository.java
, CarService.java
, CarController.java
, Order.java
, OrderRepository.java
, OrderService.java
, OrderController.java
, also the main file DemoAppApplication.java
and the maven pom file pom.xml
. The CRUD operations specified in the entities are exposed as REST services (CarController.java
and OrderController.java
). By default, the H2 database is used, but you can change it in the application.properties
file. Data types supported are Long, UUID, String, Integer, Double, Boolean, Date and Time. An entity property can be filtered only by data types String and Date. CRUDyLeaf will generate the corresponding endpoints for searching in the filtered properties. Date and Time data types can automatically generate values each a successful post is requested. Concerning the time zone, it is possible to define any available from TimeZone.getAvailableIDs()
. A complete list of available time zones is discussed in this link.
(updated, version 1.1) The endpoints generated are documented using OpenAPI and Swagger. By default, you can access to this information once the Spring Boot application is run, accessing the following resource: /api-doc.html, however it is possible to change this resource name in the application.properties
file.
You can import the resulting spring boot project through a java IDE or running it with the mvn command, mvn spring-boot:run
The plugin can be manually installed from the URL: https://osgg.net/crudyleaf
or from this other URL: https://omargomez2.github.io/CRUDyLeaf/
Categories: Languages
Tags: Spring Boot DSL, REST, CRUDyLeaf, spring boot, API REST
Additional Details
Eclipse Versions: 2022-12 (4.26), 2022-09 (4.25), 2022-06 (4.24), 2022-03 (4.23), 2021-12 (4.22), 2021-09 (4.21), 2021-06 (4.20), 2021-03 (4.19), 2020-12 (4.18), 2020-09 (4.17), 2020-06 (4.16), 2020-03 (4.15), 2019-12 (4.14), 2019-09 (4.13), 2019-06 (4.12), 2019-03 (4.11), 2018-12 (4.10), 2023-03 (4.27), 2023-06 (4.28), 2023-09 (4.29), 2023-12 (4.30), 2024-03 (4.31), 2024-06 (4.32), 2024-09 (4.33), 2024-12 (4.34)
Platform Support: Windows, Mac, Linux/GTK
Organization Name: GrIISoft Research Group, ESPOCH
Development Status: Mature
Date Created: Friday, January 31, 2020 - 22:24
License: Commercial - Free
Date Updated: Friday, October 6, 2023 - 10:50
Submitted by: Omar S. Gómez
Date | Ranking | Installs | Clickthroughs |
---|---|---|---|
December 2024 | 570/594 | 1 | 7 |
November 2024 | 315/658 | 30 | 4 |
October 2024 | 601/663 | 2 | 7 |
September 2024 | 583/642 | 2 | 6 |
August 2024 | 0/0 | 0 | 13 |
July 2024 | 543/663 | 4 | 7 |
June 2024 | 673/681 | 1 | 9 |
May 2024 | 377/682 | 21 | 12 |
April 2024 | 585/687 | 3 | 6 |
March 2024 | 507/694 | 8 | 5 |
February 2024 | 671/687 | 1 | 6 |
January 2024 | 583/691 | 3 | 9 |