Class PutEmail
- All Implemented Interfaces:
RestModifyView<AccountResource.Email,
,EmailInput> RestView<AccountResource.Email>
This REST endpoint handles PUT
/accounts/<account-identifier>/emails/<email-identifier>
requests if the specified email address
already exists for the account. If it doesn't exist yet, the request is handled by CreateEmail
.
We do not support email address updates via this path, hence this REST endpoint always throws
a ResourceConflictException
which results in a 409 Conflict
response.
This REST endpoint solely exists to avoid user confusion if they create a new email address
with PUT /accounts/<account-identifier>/emails/<email-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 TypeMethodDescriptionResponse
<?> apply
(AccountResource.Email rsrc, EmailInput input) Process the view operation by altering the resource.
-
Constructor Details
-
PutEmail
public PutEmail()
-
-
Method Details
-
apply
public Response<?> apply(AccountResource.Email rsrc, EmailInput 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.Email,
EmailInput> - Parameters:
rsrc
- 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.
-