(https://jitpack.io/v/bemdev/spring-boot-crud-api)
Easy way to create backend service with CRUD routes (aka fastapi)
- Create entities (User, Posts, Products, etc)
- Create repositories by User, Posts, Products, etc
- Registration you new CRUD controller on prepare to start App
Collect benifits! You make simple backend with auto documentation (Swagger) at 5 second!
Parent:
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.4.1</version>Dependencies:
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jdbc</artifactId>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<scope>runtime</scope>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>We use JitPack:
<!-- pom or settings.xml -->
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
<!-- using library -->
<dependency>
<groupId>com.github.bemdev</groupId>
<artifactId>spring-boot-crud-api</artifactId>
<version>v0.0.1-beta.1</version>
</dependency>
After generate Spring Boot App at SpringTime or other ways, we can add app name and app version (spring.application.name, spring.application.version) in application.properties.
Finally we can go write api app:
- For example use default entitie User from library. Add scan entities path. (u can use self-made entitie aka spring-boot entitie class, but important use @Component decorator)
@EntityScan(basePackages = "com.mediaforge.crud.entities")- For example use default repository User from library. Add scan repositories path. (u can use self-made repository aka spring-boot repository class)
@EnableJpaRepositories(basePackages = "com.mediaforge.crud.repositories")- Registration new CRUD controller with exclude methods
public class DemoApplication<T> {
private final GenericControllerConfig<T, ?> registration;
public DemoApplication(GenericControllerConfig<T, ?> registration) {
this.registration = registration;
}
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@Bean
public CommandLineRunner CommandLineRunnerBean() {
registration.registerController("users", new String[] { "deleteAll", "patch" });
return (args) -> {
System.out.println("Controllers generated. App Started.");
};
}
}This is prototype library and very simple code release! If u can help me - do it :D