• Stars
    star
    229
  • Rank 174,666 (Top 4 %)
  • Language
  • License
    Apache License 2.0
  • Created over 9 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Haufe API Style Guide

Haufe API style guide

Purpose


Great RESTful APIs look like they were designed by a single team. This promotes API adoption, reduces friction, and enables clients to use them properly. To build APIs that meet this standard, and to answer many common questions encountered along the way of RESTful API development, the Haufe-Lexware CTO team has created this comprehensive set of guidelines. We have shared it with you to inspire additional discussion and refinement within and among your teams, and contribute our learnings and suggestions to the tech community at large.

Usage


The API style guide MUST be used when you create an API, refactor or extend an API, no exeptions. Existing APIs might be subject to adapt if there is business value in it.

It is the responsibility of the person implementing the API to apply the API Styleguide to a specific API and project!

Please follow the guidelines, but don't follow blindly!
You can break the rules by talking to us and providing justification.

The style guide is work in progress. We’d love your feedback – whether you agree, disagree, or have some additional practices and tips to add.

We encourage you to improve the style guide with modifications and extensions via the usual Fork/Pull Request dance. If your modification gets merged, it becomes part of the Styleguide. On the other hand if you don't bother, don't complain.

API Design Review Process


We are still at the beginning of our journey to an API driven company.

There will be pros and cons how to handle and apply the style guide to real projects. There are many things to learn and to share with another. Feel free to reach out and ask and share on the #apistrat channel on our Haufe RocketChat.

The API Design Review Process is mandatory for each new or refactored API at Haufe-Lexware.

Content


Most important chapters

Please read the bold chapters beow. These chapters describe the intent, mindset and process how we want to design an API.

Each section contains links to the chapters with more details.

Table of Content

The chapters are:

Credits


For the creation of the style guide I took a lot of input from other authors and even copied whole passages.

I want to gratefully thank these authors and hope that I marked the relevant passages. My resources are listed under Further Reading. Special thanks goes to

S.Stedman and G. Laforge from Paypal
Brian Mulloy
Geert Jansen
Vinay Sahni
Michel Triana
Stefan Jauker

Another great inspiration were Zalando's Restful API Guidelines.

More Repositories

1

wicked.haufe.io

An API Management system based on Mashape Kong
JavaScript
123
star
2

docker-style-guide

Haufe Docker Style Guide
CSS
51
star
3

gocd-plugins

A collection of our OSS plugins for use with Go.CD
Java
36
star
4

azure-apim-deployment-utils

Python utilities to extract, update and deploy to and from Azure API Management instances
Python
14
star
5

haufe.no-frills-transformation

No frills transformation engine, just does the bare necessities. And a little bit more perhaps.
C#
10
star
6

Logging---Best-Practices

... in the era of devops, log information and other machine data (e.g. runtime metrics, ...) are even more important when combined with automatic processing, analytics and alerting for service/support and product development. Here are some guidelines to make life a bit easier.
10
star
7

pushgateway-pruner

Pruning Groupings for the Prometheus Pushgateway - You will not want to use this, but if you do, it might suit you well
JavaScript
9
star
8

eloqua-contract-to-form-action-service

Offers the possibility to the marketer to choose and configure a form with contact information.
JavaScript
6
star
9

roham

Save AWS costs by stopping/terminating/starting Instances on schedules defined by you
Python
6
star
10

open-source

Haufe-Lexware Open Source Policy
5
star
11

hlro.condica

Worktime tracking web app.
JavaScript
4
star
12

demo-authorized-spring-config-server

Demo of a Spring Cloud Config server that requires basic authentication. Clients read the credentials from vault and configure their config client by facilitating Spring Cloud Config's auto-discovery support.
Java
3
star
13

k8s-deploy-env

A base docker image for creating Kubernetes Deployment using node.js scripting and kubectl
2
star
14

hl.plone.boardnotifications

Python
2
star
15

demo-spring-boot-tls-material-from-vault

Java
2
star
16

wicked.auth-passport

ADFS and Social Authentication for securing your APIs using the OAuth 2.0 Implicit or Authorization Code Grants
JavaScript
2
star
17

acs-engine-runtime

Utility to create a minimal docker runtime image for acs-engine
Shell
2
star
18

PrintMonitor

Rich Text Format
1
star
19

octane-gocd-plugin

This plugin integrates GoCD with HPE ALM Octane. Making GoCD pipelines accessible in HPE ALM Octane and allowing to analyze build quality and test results.
Java
1
star
20

hl.pas.samlplugin

Python
1
star
21

wicked.mobile-auth-template

Template for creating an OAuth2.0 Resource Owner Password Grant type Authorization Server, suitable for a Mobile API Gateway
JavaScript
1
star
22

wicked.auth-saml

Authorization Server with flexible configuration suited for SAML SSO for wicked.haufe.io
JavaScript
1
star