MainController는 웹 애플리케이션에서 사용자의 요청을 처리하는 주요 컨트롤러입니다. 여기서는 AI를 활용한 기능과 메인페이지, Kakao map을 사용하는 페이지를 연동합니다.

package tomato.classifier.controller;

import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import tomato.classifier.data.ResultData;
import tomato.classifier.dto.DiseaseDto;
import tomato.classifier.service.TomatoService;

@Controller
@Slf4j
public class MainController {

    private final TomatoService tomatoService;

    public MainController(TomatoService tomatoService) {
        this.tomatoService = tomatoService;
    }

    @GetMapping("/")
    public String mainView() {
        return "main/mainPage";
    }

    @PostMapping("/resultprocess")
    public String resultView(@RequestBody ResultData data){

        tomatoService.saveTomato(data);

        return "redirect:/result";
    }

    @GetMapping("/result")
    public String resultView2(Model model){
        DiseaseDto createdDto = tomatoService.result();

        model.addAttribute("dto", createdDto);

        return "main/resultPage";
    }

    @GetMapping("/map")
    public String Map() {
        return "map/map";
    }

}