0% found this document useful (0 votes)
62 views6 pages

Creating Functional Apis: Shawn Wildermuth

The document discusses creating functional APIs, noting that while REST defines URIs as resources, functional APIs are acceptable in some cases. It recommends using functional APIs for operational needs but avoiding them for reporting. The document also advises not to fall into the RPC trap when creating functional APIs and to remain pragmatic when applying REST principles.

Uploaded by

Ren
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
62 views6 pages

Creating Functional Apis: Shawn Wildermuth

The document discusses creating functional APIs, noting that while REST defines URIs as resources, functional APIs are acceptable in some cases. It recommends using functional APIs for operational needs but avoiding them for reporting. The document also advises not to fall into the RPC trap when creating functional APIs and to remain pragmatic when applying REST principles.

Uploaded by

Ren
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Creating Functional APIs

Shawn Wildermuth
MICROSOFT MVP, INSTRUCTOR, AND FILMMAKER

@shawnwildermuth wildermuth.com
APIs on the Web

Pragmatic
REST
Verbs included in API URI Endpoints
Resource URIs Link Relations
HTTP Verbs E.g. Hypermedia
Stateless Server
Content Negotiation
REST defines URIs as resources
- But exceptions exist…

Functional APIs • …don’t be afraid of functional APIs


- But avoid RPC style APIs at all costs
When should you use Functional APIs?
- For operational needs

Functional APIs - Avoid for reporting


• E.g. Returning data != functional API
Demo

Creating a Functional API


What We’ve Learned

REST is important, but be pragmatic

Create Functional APIs if necessary

Don’t fall into the RPC trap

You might also like