microsoft / microsoft/typespec

Add decorator to allow specifying a common (error) response schema for a HTTP service

Open
#5,724 0 comments 0 reactions 0 assignees View on GitHub
design:needed lib:http triaged:core
Dominant language
Java
Stars
5.9k
Forks
394
Avg merge
1d 23h
Merged PRs (30d)
104

Description

### Clear and concise description of the problem

It is very common (and a best practice) to have a common basic error schema in HTTP servers. Many web frameworks allow you to provide global error handlers etc. that enforces this. OpenAPI moonwalk has added the apiResponses in the initial proposal that captures this.

The current pattern of having operation templates that blast in the common error schema for each operation in the service adds significant complexity to the templates - and it forces emitters that want to have a common definition to reverse engineer/normalize the common aspects. It is much easier to expand than it is to collect when emitting.

This also extends to common headers that apply for each operation. Which we currently have tried to solve with service traits - which, again have introduced significant complexity in our templates in azure libraries.

### Checklist

- [x] Follow our [Code of Conduct](https://github.com/microsoft/typespec/blob/main/CODE_OF_CONDUCT.md)
- [x] Read the [docs](https://typespec.io/docs/).
- [x] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.