Created
November 4, 2022 02:59
-
-
Save 3gcodes/92991ca452e5aebe737b5959479dd1d6 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public sealed interface RegistrationApi { | |
@Post | |
HttpResponse<URI> registerUser(RegisterUserRequest request); | |
non-sealed interface RegistrationClient extends RegistrationApi {} | |
@Controller("/api/registration") | |
@Secured(SecurityRule.IS_ANONYMOUS) | |
final class RegistrationController implements RegistrationApi { | |
private final RegistrationService registrationService; | |
public RegistrationController(RegistrationService registrationService) { | |
this.registrationService = registrationService; | |
} | |
@Override | |
public HttpResponse<URI> registerUser(RegisterUserRequest request) { | |
final var id = this.registrationService.createRegistration(request); | |
if (id != null) { | |
return HttpResponse.created(URI.create("/api/users/" + id)); | |
} | |
return HttpResponse.status(HttpStatus.BAD_REQUEST, "User already exists"); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment