path-segment-plural
Enforces plural path segments.
OAS | Compatibility |
---|---|
2.0 | ✅ |
3.0 | ✅ |
3.1 | ✅ |
API design principles
RESTful API design often uses resources in path segments and those resources are typically plural.
For example, "customers" instead of "customer" because:
GET /customers
means getting a collection of customersGET /customers/abc
means getting customer ABC from the customers collection
As your API grows, you may hit some false positives and may also need to ignore a few outliers. That is, unless you're a purist. Nothing wrong with that.
Configuration
Option | Type | Description |
---|---|---|
severity | string | Possible values: off , warn , error . Default off (in recommended configuration). |
ignoreLastPathSegment | boolean | Ignores the last path segment if true. Default value: false . |
exceptions | [string] | List of strings to exclude when checking path segments, for example, v1 . |
An example configuration:
rules:
path-segment-plural: error
Another example configuration:
rules:
path-segment-plural:
severity: error
ignoreLastPathSegment: true
exceptions:
- v1
- v2
- people
Examples
Given this configuration:
rules:
path-segment-plural: error
Example of an incorrect path segment:
paths:
/customer/{id}:
post:
parameters:
- name: id
in: path
required: true
Example of a correct path segment:
paths:
/customers/{id}:
post:
parameters:
- name: id
in: path
required: true
description: The customer's ID.