diff --git a/SUMMARY.md b/SUMMARY.md index ee83b8c..dddc88e 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -11,4 +11,5 @@ * [Design Maturity](core-principles/design-maturity.md) * [Implementation Maturity](core-principles/implementation-maturity.md) * [Robustness](core-principles/robustness.md) + * [Minimal API Surface](core-principles/minimal-api-surface.md) diff --git a/core-principles/minimal-api-surface.md b/core-principles/minimal-api-surface.md new file mode 100644 index 0000000..e65ce9c --- /dev/null +++ b/core-principles/minimal-api-surface.md @@ -0,0 +1,2 @@ +# Minimal API Surface +Every API design MUST aim for a minimal API surface without sacrificing on product requirements. API design SHOULD NOT include unnecessary resources, relations, actions or data. API design SHOULD NOT add functionality until deemed necessary ([YAGNI principle](https://martinfowler.com/bliki/Yagni.html)). \ No newline at end of file diff --git a/core-principles/robustness.md b/core-principles/robustness.md index 5277011..14c5bcd 100644 --- a/core-principles/robustness.md +++ b/core-principles/robustness.md @@ -4,5 +4,5 @@ Every API implementation and API consumer MUST follow Postel's law: > "Be conservative in what you send, be liberal in what you accept." > – [John Postel](https://en.wikipedia.org/wiki/Robustness_principle) -That is, send as little as possible (minimize the API surface) and be tolerant as possible while consuming another service ([tolerant reader](https://martinfowler.com/bliki/TolerantReader.html)). +That is, send as little as possible and be tolerant as possible while consuming another service ([tolerant reader](https://martinfowler.com/bliki/TolerantReader.html)).