Class PutAccount
- All Implemented Interfaces:
RestModifyView<AccountResource,
,AccountInput> RestView<AccountResource>
This REST endpoint handles PUT /accounts/<account-identifier>
requests if the
specified account already exists. If it doesn't exist yet, the request is handled by CreateAccount
.
We do not support account updates via this path, hence this REST endpoint always throws a
ResourceConflictException
which results in a 409 Conflict
response. Account
properties can only be updated via the dedicated REST endpoints that serve PUT
requests
on /accounts/<account-identifier>/<account-view>
.
This REST endpoint solely exists to avoid user confusion if they create a new account with
PUT /accounts/<account-identifier>
and then repeat the same request. Without this REST
endpoint the second request would fail with 404 Not Found
, which would be surprising to
the user.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionapply
(AccountResource resource, AccountInput input) Process the view operation by altering the resource.
-
Constructor Details
-
PutAccount
public PutAccount()
-
-
Method Details
-
apply
public Response<AccountInfo> apply(AccountResource resource, AccountInput input) throws ResourceConflictException Description copied from interface:RestModifyView
Process the view operation by altering the resource.The value of the returned response is automatically converted to JSON unless it is a
BinaryResult
.The returned response defines the status code that is returned to the client. For RestModifyViews this is usually
200 OK
, but other 2XX or 3XX status codes are also possible (e.g.202 Accepted
if a background task was scheduled,204 No Content
if no content is returned,302 Found
for a redirect).Throwing a subclass of
RestApiException
results in a 4XX response to the client. For any other exception the client will get a500 Internal Server Error
response.- Specified by:
apply
in interfaceRestModifyView<AccountResource,
AccountInput> - Parameters:
resource
- resource to modifyinput
- input after parsing from request- Returns:
- response to return to the client
- Throws:
ResourceConflictException
- the resource state does not permit this view to make the changes at this time.
-