Tools¶
This topic provides information about tools that can help during the development of REST APIs. The home code.siemens.com group for all tools is API Tools.
API Linting (OpenAPI + REST Guidelines)¶
It is recommended to use the Siemens API Linter to ensure that the API design follows the REST guidelines and best practices.
The API linter is based on Spectral, a commonly used API linting tool. The project provides documentation on how to run the linter and how to integrate it into your CI/CD pipeline. You can also customize the linter to your needs by adding custom rules or changing the existing ones.
An example of a project that uses the linter and has some customizations is Weather X.
This linter (with default linting rules) is also integrated in the internal developer portal. There you find the linting results for all internal portal APIs.
Libraries and Reference Implementations¶
Java + Spring¶
If you are using Java and Spring, you can use the following libraries and reference implementations:
JSON:API for Spring HATEOAS¶
This is an Open Source project that provides a JSON:API implementation for Spring HATEOAS. The current REST guidelines are fully compliant with JSON:API. The project contains also a reference implementation for a Spring Boot application.
Siemens:API for Spring HATEOAS¶
This is an Inner Source project based on JSON:API for Spring HATEOAS. The project adapts the best practices and recommendations from the REST guidelines and provides a reference implementation for a Spring Boot application.
C# + .NET¶
C# Reference Implementation¶
This is an Inner Source project that adapts the best practices and recommendations from the REST guidelines and provides a reference implementation in C# and .NET.