Building REST APIs with Firebird and Spring Boot is straightforward. This guide will show how to connect, query, and expose Firebird data as REST endpoints quickly.
1. Setup Firebird Connection
First, configure Firebird in your
application.properties:
spring.datasource.url=jdbc:firebirdsql://localhost:3050/yourdb
spring.datasource.username=sysdba
spring.datasource.password=masterkey
spring.datasource.driver-class-name=org.firebirdsql.jdbc.FBDriver
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
Add the Firebird JDBC driver to your Maven dependencies:
<dependency>
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird</artifactId>
<version>5.0.0.java11</version>
</dependency>
2. Create the Entity
Define a simple entity to represent a table in your Firebird database:
@Entity
public class Employee {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private String department;
// Getters and setters
}
3. Define the Repository
Use Spring Data JPA for CRUD operations:
public interface EmployeeRepository extends JpaRepository<Employee, Long> {
}
This automatically provides methods like
findAll(),
save(), and
deleteById().
4. Build the REST Controller
Expose Firebird data as REST endpoints:
@RestController
@RequestMapping("/api/employees")
public class EmployeeController {
@Autowired
private EmployeeRepository repository;
@GetMapping
public List<Employee> getAll() {
return repository.findAll();
}
@PostMapping
public Employee create(@RequestBody Employee employee) {
return repository.save(employee);
}
@DeleteMapping("/{id}")
public void delete(@PathVariable Long id) {
repository.deleteById(id);
}
}
5. Test the API
Start your application and test with any REST client:
- GET
/api/employees → fetch all employees
- POST
/api/employees → create a new employee
- DELETE
/api/employees/{id} → remove an employee
The API interacts directly with your Firebird database using standard HTTP methods.
6. Optional: Add Swagger UI
To make testing easier, add Swagger for documentation:
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.3.0</version>
</dependency>
Access the docs at
http://localhost:8080/swagger-ui.html.
image quote pre code