package ru.kuznec;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.*;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;

import java.util.Map;

@RestController
public class MatrixGatewayController {

    @Autowired
    private RestTemplate restTemplate;

    private String computeServiceUrl = "http://192.168.10.101:8080/computeMin";

    /**
     * Принимает матрицу и перенаправляет запрос в сервис вычислений.
     */
    @PostMapping("/findMin")
    public ResponseEntity<?> findMin(@RequestBody int[][] matrix) {
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_JSON);
        HttpEntity<int[][]> request = new HttpEntity<>(matrix, headers);

        ResponseEntity<Map> response = restTemplate.exchange(
                computeServiceUrl,
                HttpMethod.POST,
                request,
                Map.class
        );

        return response;
    }
}