Class PutAccount
- java.lang.Object
-
- com.google.gerrit.server.restapi.account.PutAccount
-
- All Implemented Interfaces:
RestModifyView<AccountResource,AccountInput>
,RestView<AccountResource>
public class PutAccount extends Object implements RestModifyView<AccountResource,AccountInput>
REST endpoint for updating an existing account.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 byCreateAccount
.We do not support account updates via this path, hence this REST endpoint always throws a
ResourceConflictException
which results in a409 Conflict
response. Account properties can only be updated via the dedicated REST endpoints that servePUT
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 with404 Not Found
, which would be surprising to the user.
-
-
Constructor Summary
Constructors Constructor Description PutAccount()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Response<AccountInfo>
apply(AccountResource resource, AccountInput input)
Process the view operation by altering the resource.
-
-
-
Method Detail
-
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.
-
-