added post request to achieve login response with tokens

This commit is contained in:
2026-03-30 05:07:51 +02:00
parent 8128ab829f
commit 75b6995b94
6 changed files with 231 additions and 0 deletions
@@ -0,0 +1,27 @@
package com.vaessl.app.connection;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import com.vaessl.app.dto.ConnectionRequest;
import com.vaessl.app.dto.ConnectionResponse;
import jakarta.validation.Valid;
@RestController
public class ConnectionController {
private final ConnectionService connectionService;
public ConnectionController(ConnectionService connectionService) {
this.connectionService = connectionService;
}
@PostMapping("/login")
public ResponseEntity<ConnectionResponse> loginResponse(@Valid @RequestBody ConnectionRequest request) {
ConnectionResponse connectionResponse = connectionService.login(request);
return ResponseEntity.ok(connectionResponse);
}
}
@@ -0,0 +1,28 @@
package com.vaessl.app.connection;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestClient;
import com.vaessl.app.dto.ConnectionRequest;
import com.vaessl.app.dto.ConnectionResponse;
@Service
public class ConnectionService {
private final RestClient.Builder restClientBuilder;
public ConnectionService(RestClient.Builder restClientBuilder) {
this.restClientBuilder = restClientBuilder;
}
public ConnectionResponse login(ConnectionRequest request) {
//TODO: Look into Map<String, RestClient> to cache restclient requests.
return restClientBuilder.baseUrl(request.appUrl())
.build()
.post()
.uri("/api/v1/users/login")
.body(request)
.retrieve()
.body(ConnectionResponse.class);
}
}