Build a server-side RESTful API with Coldbox (Merapi)
Build a server-side RESTful API with Coldbox (Merapi), available at $54.99, has an average rating of 5, with 25 lectures, based on 3 reviews, and has 39 subscribers.
You will learn about Use the Coldbox framework to build a REST API Create a database schema with Coldbox migration (cfmigrations) components Write model components classes and test them with the Testbox BDD module Write API handlers and test them with the Testbox BDD module Document the API by adding annotations to each of our handler's actions Generate our API documentation with the Coldbox cbSwagger module Create an OpenAPI yaml file with the Open API Editor (f.k.a the Swagger editor) Import the generated OpenAPI yaml file in POSTMAN Test the API with data input within POSTMAN Export the API from POSTMAN as a collection file This course is ideal for individuals who are Software developers, consultants and corporate power users or Developers and maintainers of legacy ColdFusion code or Developers recognising the value of open source technology adoption or Developers that are open to learn and explore an alternative server side technology It is particularly useful for Software developers, consultants and corporate power users or Developers and maintainers of legacy ColdFusion code or Developers recognising the value of open source technology adoption or Developers that are open to learn and explore an alternative server side technology.
Enroll now: Build a server-side RESTful API with Coldbox (Merapi)
Summary
Title: Build a server-side RESTful API with Coldbox (Merapi)
Price: $54.99
Average Rating: 5
Number of Lectures: 25
Number of Published Lectures: 25
Number of Curriculum Items: 25
Number of Published Curriculum Objects: 25
Original Price: $24.99
Quality Status: approved
Status: Live
What You Will Learn
- Use the Coldbox framework to build a REST API
- Create a database schema with Coldbox migration (cfmigrations) components
- Write model components classes and test them with the Testbox BDD module
- Write API handlers and test them with the Testbox BDD module
- Document the API by adding annotations to each of our handler's actions
- Generate our API documentation with the Coldbox cbSwagger module
- Create an OpenAPI yaml file with the Open API Editor (f.k.a the Swagger editor)
- Import the generated OpenAPI yaml file in POSTMAN
- Test the API with data input within POSTMAN
- Export the API from POSTMAN as a collection file
Who Should Attend
- Software developers, consultants and corporate power users
- Developers and maintainers of legacy ColdFusion code
- Developers recognising the value of open source technology adoption
- Developers that are open to learn and explore an alternative server side technology
Target Audiences
- Software developers, consultants and corporate power users
- Developers and maintainers of legacy ColdFusion code
- Developers recognising the value of open source technology adoption
- Developers that are open to learn and explore an alternative server side technology
We are going to build a Coldbox REST APIand test it using the TestBox module. We shall document this API by adding annotations to our API handlers. We’ll then use the Coldbox cbSwagger module to generate our API documentation in the Swagger Editor. Finally, we’ll use Postman to input data in order to simulate API responses from calls to our development server.
Please note however, that it is not in the scope of this course to explain Swagger Editor and Postman tools in detail. Also note that API security issues using Coldbox cbSecurity and JWT (Json Web Tokens) won’t be discussed in this course. Last and not least, we won’t build and connect a javaScript front-end to this server-side API.
We are first going to add tables to our MySQL database schema called Merapi (4 tables altogether) , build relationships between those tables and populate our tables with seed data with the help of Coldbox cfmigrations module. This database schema manages data about Countries, Currencies, Cities and Airports. The cfmigrations module was already covered in detail in my two earlier tutorials, but will be covered again at the beginning of this tutorial and documented in the guide provided with it.
Next, we are going to build our model and map our entity class property names to our tables columns name using an XML schema file representing the database schema. We’ll also have an XML Loader file to read the XML schema, thus implementing a simple custom object relational mapper. This approach is an alternative, to what we demonstrated in another course called Tamarind v1, in which we used Quick ORM to map entity object properties to table columns and to load entities in memory. Therefore, in this course, no ORM is involved.
We also leveraged object inheritance with the creation of a BaseService parent component. Like a DAO (Data Access Object), this component provides an abstraction of our queries for READ, DELETE and record filtering methods. This way, there is no need to write those queries again in the children components. We simply call the relevant method from the BaseService parent component with the Super keyword.
To make sure that our model entity and services are fully functional, we shall use the Testbox module to write unit tests. After completing our model entity and service components and making sure all our unit tests pass, we shall focus on building the API itself. The API is going to deal with two types of things: the API handlers and the API documentation.
The handlers are composed of actions (index, show, create, update and delete). As we write our handlers, we shall also write the corresponding integration tests that guarantee that our handlers are working fine. Integration tests will also be written with Testbox.
The API documentation is composed of json files such as responses, requestBody, parameters and examples that apply to each handler’s action based on an API response such as 2xx (Success), 4xx (Not found or validation error) or 5xx (Server error). A pointer to each of these json files found in the /apidocs folder, will be added as an annotation to the handler’s action code. Thanks to this, our API documentation will become immediately exportable to tools such as Postman or OpenAPI (Swagger).
Once this is done, we shall leverage the Coldbox cbswagger module to generate an output as we hit our development server url at cbswagger. Copying and pasting this cbwagger output in our Swagger Editor will not only deliver a colourful and neat documentation of our API, but also generate an openAPI.yaml file that we can then import into Postman. Postman is a tool that allows further testing of our API server with real data.
At the end of the course, you should have acquired a solid and practical understanding as how to build a server-side REST API with the Coldbox framework.
Course Curriculum
Chapter 1: Introduction
Lecture 1: Introduction
Lecture 2: About Merapi
Chapter 2: Getting started
Lecture 1: Pre-requisites
Lecture 2: Configure the project
Lecture 3: Configure the server
Lecture 4: Review the installation
Chapter 3: Build the database schema
Lecture 1: Configure schema migration
Lecture 2: Create migration components
Lecture 3: Migrate tables with seed data
Lecture 4: Add foreign key constraints
Chapter 4: Build the API model
Lecture 1: Schema mapping
Lecture 2: Create entities
Lecture 3: Entities unit tests
Lecture 4: Create services
Lecture 5: Services unit tests
Chapter 5: Build the API handlers
Lecture 1: Configure the API routes
Lecture 2: Write the Country API handler
Lecture 3: Write a Country API integration test
Lecture 4: Complete the API handlers
Lecture 5: Complete the integration tests
Chapter 6: Import/export API documentation
Lecture 1: Document the API
Lecture 2: Generate the API documentation file
Lecture 3: POSTMAN – Import the API file
Lecture 4: POSTMAN – Test the API responses
Chapter 7: Conclusion and wrap up
Lecture 1: What you've learnt and what is next?
Instructors
-
Philippe SAMBOR
Managing partner at Aquarius Logics
Rating Distribution
- 1 stars: 0 votes
- 2 stars: 0 votes
- 3 stars: 0 votes
- 4 stars: 0 votes
- 5 stars: 3 votes
Frequently Asked Questions
How long do I have access to the course materials?
You can view and review the lecture materials indefinitely, like an on-demand channel.
Can I take my courses with me wherever I go?
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!
You may also like
- Top 10 Language Learning Courses to Learn in November 2024
- Top 10 Video Editing Courses to Learn in November 2024
- Top 10 Music Production Courses to Learn in November 2024
- Top 10 Animation Courses to Learn in November 2024
- Top 10 Digital Illustration Courses to Learn in November 2024
- Top 10 Renewable Energy Courses to Learn in November 2024
- Top 10 Sustainable Living Courses to Learn in November 2024
- Top 10 Ethical AI Courses to Learn in November 2024
- Top 10 Cybersecurity Fundamentals Courses to Learn in November 2024
- Top 10 Smart Home Technology Courses to Learn in November 2024
- Top 10 Holistic Health Courses to Learn in November 2024
- Top 10 Nutrition And Diet Planning Courses to Learn in November 2024
- Top 10 Yoga Instruction Courses to Learn in November 2024
- Top 10 Stress Management Courses to Learn in November 2024
- Top 10 Mindfulness Meditation Courses to Learn in November 2024
- Top 10 Life Coaching Courses to Learn in November 2024
- Top 10 Career Development Courses to Learn in November 2024
- Top 10 Relationship Building Courses to Learn in November 2024
- Top 10 Parenting Skills Courses to Learn in November 2024
- Top 10 Home Improvement Courses to Learn in November 2024