You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We've added basic and API key credentials (#124) for connections, and any secrets in the credentials are write-only. For example, the following can be provided in the request payload to create (POST) a new connection resource:
If we want to modify the connection with PUT, we'd have to provide the whole spec object again -- including the correct secret values. We can't take the result of a GET and just modify it, unless we also replace the masked values with the actual values.
We should implement PATCH so that a client can modify parts a connection spec without having to specify everything. There are two options for the payload to the PATCH operation:
JSON-Patch -- uses a JSON file containing an array of patch operations: “add”, “remove”, “replace”, “move”, “copy” and “test”. The operations are applied in same order they appear in the file: if any of them fail then the whole patch operation should abort.
JSON Merge Patch -- describes changes to be made to a target JSON document using a syntax that closely mimics the document being modified.
Ideally we'd support both (especially if Quarkus makes this easy), but JSON-Patch is preferred since it is generally more flexible and less ambiguous than JSON Merge Patch, which depends upon the implementation for consistently handling null values to distinguish between "don't change" and "remove".
We've added basic and API key credentials (#124) for connections, and any secrets in the credentials are write-only. For example, the following can be provided in the request payload to create (
POST
) a new connection resource:The response for that
POST
request will have the secrets redacted/masked:If we want to modify the connection with
PUT
, we'd have to provide the wholespec
object again -- including the correct secret values. We can't take the result of aGET
and just modify it, unless we also replace the masked values with the actual values.We should implement
PATCH
so that a client can modify parts a connection spec without having to specify everything. There are two options for the payload to thePATCH
operation:Ideally we'd support both (especially if Quarkus makes this easy), but JSON-Patch is preferred since it is generally more flexible and less ambiguous than JSON Merge Patch, which depends upon the implementation for consistently handling null values to distinguish between "don't change" and "remove".
It looks like Quarkus supports JSON Merge Patch (RFC 7396), though there is an open issue that reports that JSON-Patch works with an imperative endpoint but does not work with a reactive endpoint.
The text was updated successfully, but these errors were encountered: