복붙노트

[SPRING] 스프링에 편안한 아약스 요청 매핑하기

SPRING

스프링에 편안한 아약스 요청 매핑하기

나는이 코드 조각을 가지고있다.

@RequestMapping(value = "/test.json", method = RequestMethod.GET)
@ResponseStatus(HttpStatus.OK)
public @ResponseBody Object[] generateFile(@RequestParam String tipo) {
    Object[] variaveis = Variavel.getListVariavelByTipo(tipo);
    return variaveis;
}

내가 아는 한 test.json? tipo = H에 대한 요청을 받아야하며 Variavel []의 JSON 표현을 반환해야하지만 요청할 때 다음과 같이 표시됩니다.

HTTP 상태 406 -

유형 상태 보고서

메시지

이 요청으로 식별 된 자원은 요청 "accept"헤더 ()에 따라 수용 할 수없는 특성을 갖는 응답 만 생성 할 수 있습니다.

다음 함수를 사용하여 json을 얻을 수 있습니다.

@RequestMapping(value = "/teste.json")
public void testeJson(Model model, @RequestParam String tipo) {
    model.addAttribute("data", Variavel.getListVariavelByTipo("H"));
}

내가 뭘 잘못하고있어?

해결법

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

    1.@ RequestBody / @ ResponseBody 주석은 일반보기 확인자를 사용하지 않고 자체 HttpMessageConverters를 사용합니다. 이러한 주석을 사용하려면 참조 (아마도 MappingJacksonHttpMessageConverter가 필요함)에서 설명한대로 AnnotationMethodHandlerAdapter에서 이러한 변환기를 구성해야합니다.

    @ RequestBody / @ ResponseBody 주석은 일반보기 확인자를 사용하지 않고 자체 HttpMessageConverters를 사용합니다. 이러한 주석을 사용하려면 참조 (아마도 MappingJacksonHttpMessageConverter가 필요함)에서 설명한대로 AnnotationMethodHandlerAdapter에서 이러한 변환기를 구성해야합니다.

  2. from https://stackoverflow.com/questions/2828968/mapping-restful-ajax-requests-to-spring by cc-by-sa and MIT license