복붙노트

[SPRING] 스프링 컨트롤러에서 json 응답을 어떻게 보낼 수 있습니까?

SPRING

스프링 컨트롤러에서 json 응답을 어떻게 보낼 수 있습니까?

나는 주제에 초보자이다. 어떻게하면 내 컨트롤러에서 JSON 데이터를 반환 할 수 있습니까? (ResponseBody 사용)

@RequestMapping(value = "/ajaxtest", method = RequestMethod.GET)
@ResponseBody
public Set<String> ajaxTest() {
Set<String> records = new HashSet<String>();
records.add("Record #1");
records.add("Record #2");
return records; 
}

나는 잭슨을 사용하려고했지만 HTTP 406 오류가 있습니다. 스프링 버전 4.0.3에서 올바른 잭슨 버전을 사용해야하며 사용 알고리즘은 무엇입니까? UPD 아약스 전화

<button id="btn">Click!</button>
<script>
$("#btn").click(
function sendAjax() {
    $.ajax({
        url: "/ajaxtest",
        dataType: "json",
        success: function(data) {
            alert(data);
        },
        error:function() {
            alert("error");
        }
    });
})
</script>

해결법

  1. ==============================

    1.json 요청으로 변환하려면 프로젝트 빌드 경로에 다음 3 병을 포함해야합니다. Jackson jar는 jason 형식의 HTTP 요청을 보내는 데 사용됩니다.

    json 요청으로 변환하려면 프로젝트 빌드 경로에 다음 3 병을 포함해야합니다. Jackson jar는 jason 형식의 HTTP 요청을 보내는 데 사용됩니다.

    또한 header = content-type = application / json을 언급하십시오.

    이것들은 jar 파일입니다.

    jackson-mapper-asl.jar
    jackson-core-asl.jar
    jackson-jaxrs.jar
    
  2. ==============================

    2.maven을 사용한다면 pom.xml에 다음과 같은 의존성을 포함시킬 수있다.

    maven을 사용한다면 pom.xml에 다음과 같은 의존성을 포함시킬 수있다.

    Jackson Mapper 버전 1은 JSON 객체로 객체를 변환하기에 충분합니다.

    <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-mapper-asl</artifactId>
        <version>1.9.13</version>
    </dependency>
    

    또는 최신 Jackson 버전으로 이동할 수도 있습니다.

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.6.0</version>
    </dependency>
    
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>2.6.0</version>
    </dependency>
    
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>2.6.0</version>
    </dependency>
    
  3. from https://stackoverflow.com/questions/31686960/how-i-can-send-json-response-from-my-spring-controller by cc-by-sa and MIT license