Загрузка данных


package App.controllers;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
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;

@RestController
public class POST_skills_score {

    private static final Logger log = LoggerFactory.getLogger(POST_skills_score.class);

    @PostMapping(value = "/users/skills-score-all", 
                 consumes = {MediaType.APPLICATION_JSON_VALUE, 
                             MediaType.APPLICATION_FORM_URLENCODED_VALUE})
    public ResponseEntity<String> SkillsScoreAll(@RequestBody(required = false) String body) {
        
        log.info("Получен запрос /skills-score-all | Content-Type: {} | Тело: {}", 
                body != null ? "JSON или form" : "null", 
                body != null ? body.substring(0, Math.min(400, body.length())) : "пусто");

        String respBody = """
                {
                  "is_surveyed": true,
                  "skills": [
                    {"skill_name": "finance", "skill_priority": 1, "status_name": "ERROR", "status_text": "Требует внимания"},
                    {"skill_name": "product_service", "skill_priority": 2, "status_name": "WARNING", "status_text": "Держите в фокусе"},
                    {"skill_name": "marketing", "skill_priority": 3, "status_name": "SUCCESS", "status_text": "Изучите по возможности"},
                    {"skill_name": "team", "skill_priority": 4, "status_name": "SUCCESS", "status_text": "Изучите по возможности"},
                    {"skill_name": "strategy", "skill_priority": 5, "status_name": "SUCCESS", "status_text": "Изучите по возможности"},
                    {"skill_name": "partnership", "skill_priority": 6, "status_name": "SUCCESS", "status_text": "Изучите по возможности"},
                    {"skill_name": "it", "skill_priority": 7, "status_name": "WAITING", "status_text": "Ждёт оценки"}
                  ]
                }
                """;

        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_JSON);

        return ResponseEntity.ok().headers(headers).body(respBody);
    }

    @PostMapping(value = "/users/skills-score-single",
                 consumes = {MediaType.APPLICATION_JSON_VALUE, 
                             MediaType.APPLICATION_FORM_URLENCODED_VALUE})
    public ResponseEntity<String> SkillsScoreSingle(@RequestBody(required = false) String body) {
        
        log.info("Получен запрос /skills-score-single");

        String respBody = """
                {
                  "course": "/finance",
                  "status_name": "ERROR",
                  "status_text": "Требует внимания"
                }
                """;

        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_JSON);

        return ResponseEntity.ok().headers(headers).body(respBody);
    }
}