REST API Design
SMALS STANDARDS.
REST has become the industry standard for developing APIs on the web and is the de facto standard to communicate between a browser/mobile application and a backend server. In this training you will learn about the RESTful design approach and apply this methodology for modeling your business data and functionality into a REST API. Our REST APIs will also be compliant to the G-Cloud REST style guide.
This training is developed by Willem Salembier of the ICC team. If you have any questions related to this course, please send an email to icc-training@smals.be.
If you have any questions about REST standards, please send a mail to rest-styleguide@gcloud.belgium.be or raise an issue via GitHub.
The topics included in this training are:
* Introduction
* Uniform interface
* Collection resources
* Document resources
* Controller resources
* Hypermedia
* Methods
* Representations
* OpenAPI Schema
* OpenAPI
* Error handling
* Documentation
* Governance
* Links
//
Apply for this course
window.hideEnrolWarning = window.hideEnrolWarning || function() {
mdlUtils.hideAll("div.continuebutton");
mdlUtils.hideById("notice");
};
window.enhanceEhrButtons = window.enhanceEhrButtons || function(root = document) {
document.querySelectorAll('.coursebox, .course-info-container').forEach(container => {
const link = container.querySelector('a[href*="course/view.php?id="]');
if (!link) return;
//get de id van de cursus
const match = link.href.match(/id=(\d+)/);
if (!match) return;
const courseId = match[1];
const btn = container.querySelector('.ehr-btn');
if (!btn) return;
// voorkom dubbel uitvoeren
if (btn.dataset.enhanced) return;
btn.dataset.enhanced = "true";
let ehrid = btn.dataset.ehrid;
// ✅ als FilterCodes werkte → gewoon gebruiken
if (ehrid && ehrid.trim() !== '' && !ehrid.includes('{')) {
btn.href = btn.dataset.base + ehrid;
return;
}
// ❌ fallback: reconstructie (optioneel)
btn.href = "https://eacademy.smals.be/course/enrol.php?id=" + courseId;
});
}
mdlUtils.runWhenReady(hideEnrolWarning);
mdlUtils.runWhenReady(enhanceEhrButtons);
mdlUtils.observeDom(enhanceEhrButtons);