월루를 꿈꾸는 대학생

[SpringBoot] rest controller , post , json 본문

Programing/Spring Boot

[SpringBoot] rest controller , post , json

하즈시 2023. 3. 9. 15:12
728x90

rest controller 쓰는 이유 

- 아무 역할 하지 않고 바로 뷰로 넘김 

- 내 일을 넘기지 않고 컨트롤러에서 로직 처리 하는 거 

- json으로 값 넘기기 해줘도 될 듯 

- 임마가 마지막 값을 넘기는게 아니라 그대로 뿌려줌 ! 

@GetMapping("/coffeeAjax")
public String doCoffeeAjax(Model model){
    return "/v1/coffeeAjax";
}

 

name = post넘길 떄

id = 자바스크립트에서 이용 

 

https://mvnrepository.com/artifact/org.json/json

 

컨트롤러 

- rest controller 로 값 자체를 보낼 수도 있고 

- post로 값 받아서 반환을 할 때 파라미터로 검색 때리고 json으로 값을 변환시켜서 넘겨줄 수도 있다 


@GetMapping("/coffeeAjax")
//rest controller  -> 가져올 거는 나야 내가 끝내줄게  리스폰스를 리턴으로 뿌림 txt, json 등
//자기가 마지막이라 값을 넘기는 게 아니라 최정처리를 하는것 나중에 json response해도 되는건가?
@ResponseBody
public String doCoffeeAjax(Model model){
    String strArr = "{\"coffee_list\":[{\"coffee_id\":\"100\",\"name\":\"메뉴명\",\"kind\":\"종류\",\"price\":\"가격\",\"reg_day\":\"등록일\",\"mod_day\":\"수정일\"},{\"coffee_id\":\"100\",\"name\":\"메뉴명\",\"kind\":\"종류\",\"price\":\"가격\",\"reg_day\":\"등록일\",\"mod_day\":\"수정일\"},{\"coffee_id\":\"100\",\"name\":\"메뉴명\",\"kind\":\"종류\",\"price\":\"가격\",\"reg_day\":\"등록일\",\"mod_day\":\"수정일\"}]}";
    return strArr;
    //return "/v1/coffeeAjax";
}

@PostMapping("/coffeeAjaxPost")
@ResponseBody
public String doCoffeePostAjax(HttpServletRequest request){
    // html form으로 받은 리퀘스트 항목의 값을 추출

    String strStart_date = request.getParameter("start_date");
    String strEnd_date = request.getParameter("end_date");
    String strName = request.getParameter("name");
    String strKind = request.getParameter("kind");
    // 이걸로 터미널창에 로그 확인 가능
    List<Map<String,String>> list = coffeeV1Service.doCoffeeList(strStart_date,strEnd_date,strName,strKind);
    log.info(list);

    JSONArray jsonArray = new JSONArray();
    for(Map<String , String> fMap : list){
        // 요즘 안 쓰나 보네 org.JSON
        // fMAP 을 끌어와서 json한 줄 만들어짐
        JSONObject restObj = new JSONObject(fMap);
        log.info(restObj);
        //json 배열에 json값들 한줄 한줄 배열로 들어가게 됨
        jsonArray.put(restObj);
    }

    String strArr = "{\"coffee_list\":";
    strArr+= String.valueOf(jsonArray);
    strArr+="}";

    return strArr;
}

 

 

 

참고 영상

https://www.youtube.com/watch?v=yJyzD4jVgvk&list=PL3036mp45iYw1HyNNvSXHaqURIDDslg60&index=13 

 

728x90