Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

VersionDateDescription
0.92/8/2019

Initial draft for review by SDP Tech Panel

0.102/28/2019

Added implementation language and framework guidance 

0.115/16/2019Added additional framework and development tools

Implementation Language and Framework

Language and framework choice will ultimately depend on the preferences and prior experience of team members. However some general guidance applies regardless:

  • Use a modern, preferably popular, Web API framework rather than rolling your own. While using a framework may entail additional work to learn how best to use it, the investment will pay off in overall reduced implementation time, ease of onboarding new engineers, and coverage by online communities such as Stack Overflow to help solve issues.
  • Ensure good automated integration test coverage of the API using an HTTP client library, don't rely on in-process unit tests. Routing of HTTP requests to the correct handler and deserialization and serialization of requests and responses are common sources of errors, integrations tests will help to catch both kinds of problems.

Some Popular Web API Frameworks

Web API frameworks exist for most popular programming languages and new ones appear regularly. The following is a non-exhaustive list of some popular Web API frameworks by programming language:

Development Tools

In addition to a Web API framework, the following tools may also prove useful:

  • Apicurio and SwaggerHub: tools for designing and documenting APIs using the Open API description format 
  • Postman and SoapUI: tools for API testing
  • Microcks: tool for mocking and testing APIs, builds on Postman or SoapUI

Monitoring

The ability to monitor services provides many benefits to both the service owner and clients of the service:

...