mirror of
https://github.com/LukeHagar/redocly-cli.git
synced 2025-12-07 20:57:49 +00:00
88 lines
1.9 KiB
Markdown
88 lines
1.9 KiB
Markdown
# path-excludes-patterns
|
|
|
|
Disallow patterns from paths.
|
|
|
|
|OAS|Compatibility|
|
|
|---|---|
|
|
|2.0|✅|
|
|
|3.0|✅|
|
|
|3.1|✅|
|
|
|
|
|
|
|
|
## API design principles
|
|
|
|
The [`no-http-verbs-in-paths` rule](./no-http-verbs-in-paths.md) is pre-built for a very specific set of patterns.
|
|
This rule is the general Swiss army knife version.
|
|
If you absolutely know something should not be in the path (for example `foo`), then add the pattern to prevent it.
|
|
|
|
Ideas for things to prevent in paths besides HTTP verbs include other common CRUD verbs, bad words, and internal code words (food for thought).
|
|
|
|
Other ideas are around casing (other than kebab-case, which is a common approach and we have [another rule](./paths-kebab-case.md) already prepared for that).
|
|
|
|
## Configuration
|
|
|
|
|
|
|Option|Type|Description|
|
|
|---|---|---|
|
|
|severity|string|Possible values: `off`, `warn`, `error`. Default `off` (in `recommended` configuration).
|
|
|patterns|[string]|List of patterns to match. For example, `^\/[a-z]`.
|
|
|
|
|
|
An example configuration:
|
|
|
|
```yaml
|
|
rules:
|
|
path-excludes-patterns:
|
|
severity: error
|
|
patterns:
|
|
- ^\/[0-9]
|
|
```
|
|
|
|
## Examples
|
|
|
|
Given this configuration:
|
|
|
|
```yaml
|
|
rules:
|
|
path-excludes-patterns:
|
|
severity: error
|
|
patterns:
|
|
- ^\/[0-9]
|
|
```
|
|
|
|
Example of an **incorrect** path:
|
|
|
|
```yaml
|
|
paths:
|
|
/1customers/{id}:
|
|
post:
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
```
|
|
|
|
Example of a **correct** path:
|
|
|
|
```yaml
|
|
paths:
|
|
/customers/{id}:
|
|
post:
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
```
|
|
|
|
## Related rules
|
|
|
|
- [tag-description](./tag-description.md)
|
|
- [operation-description](./operation-description.md)
|
|
- [custom rules](./custom-rules.md)
|
|
|
|
## Resources
|
|
|
|
- [Rule source](https://github.com/Redocly/redocly-cli/blob/main/packages/core/src/rules/common/parameter-description.ts)
|
|
- [Paths docs](https://redocly.com/docs/openapi-visual-reference/paths/)
|