The chat responses are generated using Generative AI technology for intuitive search and may not be entirely accurate. They are not intended as professional advice. For full details, including our use rights, privacy practices and potential export control restrictions, please refer to our Generative AI Service Terms of Use and Generative AI Service Privacy Information. As this is a test version, please let us know if something irritating comes up. Like you get recommended a chocolate fudge ice cream instead of an energy managing application. If that occurs, please use the feedback button in our contact form!
Skip to content

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.