SlideShare a Scribd company logo
WebAPI::DBICWebAPI::DBIC
RESTful ToolKitRESTful ToolKit
A Series of useful Moo::Roles
Each providing a specific part of
the whole
Handling for Sets and Items
Built with DBIx::Class
Strong foundationsStrong foundations
Web::Machine - HTTP State
Engine
Plack - Light, extensible HTTP
Server
Path::Router - Reversible uri
handling
Incomprehensive ImageIncomprehensive Image
WebAPI::DBIC::WebAPP
WebAPI::DBIC::
Resource::Item
WebAPI::DBIC::
Resource::Set
DBIx::Class::ResultSource
Plack
Auto ConfigurationAuto Configuration
Sensible defaults
Exposes all DBIX ResultSources
Provides HTTP Verb support
Range of Data Serializers based
on Accept: headers
Handles HTTP State automagically
Example 1Example 1
ChinookChinook
Structure OldStructure Old
Controller - Handles Routing,
HTTP validation, Domain model
setup, handles View
Model - Handles business logic,
data
View - Handles data serialization
Structure NewStructure New
Router - Handles the paths to each
resource
Resource - Handles the actual
Request
DBIC ResultSource - Handles
business logic, data
MyApp
- Controllers
- Auth
- Note
- Healthcheck
- Model
- Note
- Exception
- Schema
- Result
- Note
MyApp
- Resource
- Note
- Notes
- Schema
- Result
- Note
package MyApp::Resource::Note;
use Moo;
extends 'WebAPI::DBIC::Resource::GenericItem';
sub forbidden {
my ($self) = @_;
my $headers = $self->request->headers;
return 1 unless $headers->authorization_basic;
my ($username, $password) = $headers->authorization_basic;
return 1 unless # Some check for userpass auth
return 0; # Is Authorized
}
Example 2Example 2
Candidate::WebService::NoteCandidate::WebService::Note
ConclusionConclusion
Under Rapid Development (Alpha)
Aimed for easy of customization
Provides sensible out of the box
defaults
Follows REST best practices (as
far as they exist)

More Related Content

PPT
Let Your Data Flow with EmbARK
PDF
Kafka meetup seattle 2019 mirus reliable, high performance replication for ap...
PDF
Membase Intro from Membase Meetup San Francisco
PDF
Membase Introduction
PDF
Couchdb + Membase = Couchbase
PDF
Guillotina
PDF
The journey of Moving from AWS ELK to GCP Data Pipeline
PPT
Let Your Data Flow with EmbARK
Kafka meetup seattle 2019 mirus reliable, high performance replication for ap...
Membase Intro from Membase Meetup San Francisco
Membase Introduction
Couchdb + Membase = Couchbase
Guillotina
The journey of Moving from AWS ELK to GCP Data Pipeline

What's hot (20)

PPTX
Kafka & Couchbase Integration Patterns
PPT
Operation Migration: Migrating Static Content into Cascade Server with our ne...
PPTX
CCV: migrating our payment processing system to MariaDB
PPT
Backbone introdunction
PDF
Real Time Streaming with Flink & Couchbase
PDF
【EDD Workshop@140829】iOS Models-Core Data_by Boska-Lee
PPTX
Asp.Net MVC
PPTX
A Walkthrough of InfluxCloud 2.0 by Tim Hall
PPTX
Elastic Stack Basic - All The Capabilities in 6.3!
PDF
Blazing fast sites using Blaze, Hybrid CMS NYC
PPTX
Introduction to Ruby Native Extensions and Foreign Function Interface
PPTX
Updating the Globus Connect Architecture - ARCC Workshop at PEARC17
PDF
HBaseCon2017 Splice Machine as a Service: Multi-tenant HBase using DCOS (Meso...
PDF
Schemas Beyond The Edge
PDF
Building a modern application using Symfony API Platform and GatsbyJS PHP QRO
PDF
OpenCms Days 2014 - OpenCms cloud setup with the FI-TS
PDF
Introducing MagnetoDB, a key-value storage sevice for OpenStack
PDF
Embracing the modern web using a Headless CMS with GatsbyJS CMS Philly
PDF
Introduction to new high performance storage engines in mongodb 3.0
Kafka & Couchbase Integration Patterns
Operation Migration: Migrating Static Content into Cascade Server with our ne...
CCV: migrating our payment processing system to MariaDB
Backbone introdunction
Real Time Streaming with Flink & Couchbase
【EDD Workshop@140829】iOS Models-Core Data_by Boska-Lee
Asp.Net MVC
A Walkthrough of InfluxCloud 2.0 by Tim Hall
Elastic Stack Basic - All The Capabilities in 6.3!
Blazing fast sites using Blaze, Hybrid CMS NYC
Introduction to Ruby Native Extensions and Foreign Function Interface
Updating the Globus Connect Architecture - ARCC Workshop at PEARC17
HBaseCon2017 Splice Machine as a Service: Multi-tenant HBase using DCOS (Meso...
Schemas Beyond The Edge
Building a modern application using Symfony API Platform and GatsbyJS PHP QRO
OpenCms Days 2014 - OpenCms cloud setup with the FI-TS
Introducing MagnetoDB, a key-value storage sevice for OpenStack
Embracing the modern web using a Headless CMS with GatsbyJS CMS Philly
Introduction to new high performance storage engines in mongodb 3.0
Ad

Viewers also liked (8)

PPTX
How to get full power from WebApi
PPTX
Da DotNet a DotNetCore
PPTX
Ross Boucher - Quality Control: Testing and debugging your apps
PPTX
ASP.Net WebAPI經驗分享
PDF
Modern Tools for API Testing, Debugging and Monitoring
PDF
web apiで遊び倒す
PPT
Presentation on operating system
PPT
CPU Scheduling Algorithms
How to get full power from WebApi
Da DotNet a DotNetCore
Ross Boucher - Quality Control: Testing and debugging your apps
ASP.Net WebAPI經驗分享
Modern Tools for API Testing, Debugging and Monitoring
web apiで遊び倒す
Presentation on operating system
CPU Scheduling Algorithms
Ad

Similar to WebAPI::DBIC - Automated RESTful API's (20)

ODP
One Person's Perspective on a Pragmatic REST Interface
PDF
RESTful web services
PPTX
Past, Present, Future of APIS
ODP
Creating Web Services with Zend Framework - Matthew Turland
PDF
Perl Tools for Productivity
PDF
Evolving your APIs, a step-by-step approach
PPTX
Asp.net web api
PDF
The Design of Web APIs Second Edition MEAP Arnaud Lauret
PPTX
Rest WebAPI with OData
PPT
Poli 2.0 - APIs
PDF
API Performance Testing at STPcon 2014
PPTX
API and DB design with Boolean
PPTX
RapidApp - YAPC::NA 2014
PDF
Designing Evolvable Web Apis With Aspnet 1st Edition Glenn Block
PPTX
Pragmatic REST APIs
PDF
Modern Perl Web Development with Dancer
PDF
Web APIs: The future of software
PDF
Services Drupalcamp Stockholm 2009
PDF
Drupal South 2015: Introduction to Web Services. Services in Drupal 8.
PDF
PDF The Design of Web APIs Second Edition MEAP Arnaud Lauret download
One Person's Perspective on a Pragmatic REST Interface
RESTful web services
Past, Present, Future of APIS
Creating Web Services with Zend Framework - Matthew Turland
Perl Tools for Productivity
Evolving your APIs, a step-by-step approach
Asp.net web api
The Design of Web APIs Second Edition MEAP Arnaud Lauret
Rest WebAPI with OData
Poli 2.0 - APIs
API Performance Testing at STPcon 2014
API and DB design with Boolean
RapidApp - YAPC::NA 2014
Designing Evolvable Web Apis With Aspnet 1st Edition Glenn Block
Pragmatic REST APIs
Modern Perl Web Development with Dancer
Web APIs: The future of software
Services Drupalcamp Stockholm 2009
Drupal South 2015: Introduction to Web Services. Services in Drupal 8.
PDF The Design of Web APIs Second Edition MEAP Arnaud Lauret download

Recently uploaded (20)

PPTX
Odoo POS Development Services by CandidRoot Solutions
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
top salesforce developer skills in 2025.pdf
PPTX
ai tools demonstartion for schools and inter college
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PPTX
Essential Infomation Tech presentation.pptx
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
Odoo POS Development Services by CandidRoot Solutions
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Wondershare Filmora 15 Crack With Activation Key [2025
PTS Company Brochure 2025 (1).pdf.......
top salesforce developer skills in 2025.pdf
ai tools demonstartion for schools and inter college
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Operating system designcfffgfgggggggvggggggggg
Which alternative to Crystal Reports is best for small or large businesses.pdf
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
wealthsignaloriginal-com-DS-text-... (1).pdf
Essential Infomation Tech presentation.pptx
How to Migrate SBCGlobal Email to Yahoo Easily
CHAPTER 2 - PM Management and IT Context
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Softaken Excel to vCard Converter Software.pdf
How Creative Agencies Leverage Project Management Software.pdf
How to Choose the Right IT Partner for Your Business in Malaysia

WebAPI::DBIC - Automated RESTful API's