[PatchBodyParameterSchema] Improve error message from nested properties

Open
#708 0 comments 0 reactions 1 assignee View on GitHub

@mikeharder is already working on this.

Since Jun 12, 2024.

Assessment

This issue has not been assessed yet.

Description

If rule PatchBodyParameterSchema fails, the error message only includes the name of the property and the top-level reference that contains the nested property:

PatchBodyParametersSchema Properties of a PATCH request body must not be required, property:type.
Location: Microsoft.AVS/stable/2023-09-01/vmware.json#L489 RPC-Patch-V1-10
PatchBodyParametersSchema Properties of a PATCH request body must not be required, property:name.
Location: Microsoft.AVS/stable/2023-09-01/vmware.json#L489 RPC-Patch-V1-10
PatchBodyParametersSchema Properties of a PATCH request body must not be required, property:name.
Location: Microsoft.AVS/stable/2023-09-01/vmware.json#L1609 RPC-Patch-V1-10

https://github.com/Azure/azure-rest-api-specs/pull/28023/checks?check_run_id=22174134612

This can be very difficult to debug, especially if the property is nested multiple levels or is under common-types which spec authors asssume are 100% correct.

Can the rule be improved to show the original source location of the violation? Or a "call stack" of $refs?

I'm unsure if this behavior is specific to PatchBodyParameterSchema, or applies to many (or all) rules.

Dominant language
TypeScript
Stars
53
Forks
57
Avg merge
1d 23h
Merged PRs (30d)
2

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Azure/azure-openapi-validator

All issues in Azure/azure-openapi-validator

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.