감자떡볶이
195
2021-06-13 00:21:11 작성 2021-06-13 00:21:58 수정됨
7
439

스프링부트에서 ajax로 실시간 그래프 그리는 중인데 막히는 부분이 있어 질문드립니다


import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.web.bind.annotation.PostMapping;

import org.springframework.web.bind.annotation.RequestBody;

import org.springframework.web.bind.annotation.RestController;


import kr.inhatc.spring.chart.entity.chart;

import kr.inhatc.spring.chart.service.chartService;

//controller 역할: 사용자 http 요청 진입 지점, 사용자에게 서버에서 처리된 데이터를 view와 함께 응답

@RestController //RestController는 뷰 페이지로 이동하지 않고 json과 같은 데이터 응답받고자 할 때 정의

public class chartController {


@Autowired

private chartService service;

@PostMapping("/Home")

public String Home(@RequestBody chart chart) //json 형태로 데이터 넘기기

{

return service.savechart(chart);

}

}



이것이 제 컨트롤러이고



      









    function requestData() {

var chart = document.getElementById("chart"); 


    $.ajax({

    url: "/Home",

    type: "GET",

    dataType: "json",

contentType: "application/json",

    success: function() {

console.log(point)

var series = chart.series[0],

shift =series.data.length >20;

chart.series[0].addPoint(point, true,  shift);

setTimeout(requestData, 1000);

   

    },


   cache:false

  

    });

    




ajax를 담은 js 파일입니다...... 실시간 그래프를 그리는 중인데 제 데이터로 안 그려지네요 뭐가 문제인가요? 콘솔창에는 오류가 안 떠서 모르겟습니다.








0
  • 답변 7

  • 뉴비디벨
    130
    2021-06-13 00:26:03 작성 2021-06-13 00:27:41 수정됨

    type을 post로 바꿔도 에러 나셨나요?

    data도 컨트롤러로 보내주는 형식이 필요할 거 같네여

    ajax할 때 error 메세지도 보여지도록 하면 원인을 알 수 있을 거 같은데요..


  • 감자떡볶이
    195
    2021-06-13 00:30:59 작성 2021-06-13 00:32:28 수정됨

    제가 왕초보라서 그런데 data를 컨트롤러로 보내주는 형식이라는 게 뭔가요? 인터넷에 서치해 보니까 vo, map 방식이라는데 맞나요? 현재 jpa 사용 중이고, type을 post로 하면 에러는 안 나지만 제 데이터로 그래프가 그려지지 않습니다

  • 학생에서탈출
    157
    2021-06-13 00:47:27 작성 2021-06-13 00:49:17 수정됨

    @PostMapping  == @RequestMapping(value = "url", method=RequestMethod.POST) 

    PostMapping은 메소드가 Post 형식과 맵핑되는거라 생각하시면 될 것 같네요.

    Ajax 구문을 보시면 Controller 단에 보내는 data 값이 없어서 @RequestBody chart chart 로 받는 파라메터에 매핑이 안돼서 오류가 나지 않나 싶네요.

    https://bamdule.tistory.com/131

    이 부분 참고하시면 될 것 같습니다

  • 감자떡볶이
    195
    2021-06-13 01:08:44

    보내는 데이터 값 입력했습니다! data: JSON.stringify(chart) 넣었는데 


     POST http://localhost:18080/Home 400 이런 식으로 오류가 납니다,,,,,,

  • 학생에서탈출
    157
    2021-06-13 01:26:59

    400에러는 클라이언트에서 서버로 요청 할 때 서버에서 처리를 거절한다고 생각하시면 될 것 같은데요

    경우의 수가 여러개 있어서 예를들면 서버에서 받는 메소드가 json 형식이 아니라던지요..

  • 감자떡볶이
    195
    2021-06-13 01:32:45

    그건 컨트롤러단에서 수정해야 하는 건가요?

  • 따식이입니다
    172
    2021-06-14 16:41:25

    컨트롤러 에서 퍼블릭 클래스명이 어떻게 다 소문자입니까?

    그리고 골뱅이 리퀘스트 바디 옆 Vo  또는 모델인데 둘다 소문자를쓰셨네요 . 확인해보세요

  • 로그인을 하시면 답변을 등록할 수 있습니다.