Ошибка 404 при запросах JSON в Spring 3 - PullRequest
0 голосов
/ 05 октября 2011

Я пытаюсь настроить контроллер в Spring 3, который будет обрабатывать запросы AJAX от внешнего интерфейса.Я взглянул на эту страницу, которая объясняет это очень кратко и просто: http://blog.springsource.com/2010/01/25/ajax-simplifications-in-spring-3-0/

Мне удалось заставить пример приложения работать правильно.Тем не менее, в моем собственном приложении он просто получает 404, когда я делаю запрос к URL-адресу, где он должен быть ...

Вот код Java, который у меня есть (который сейчас просто занимаетпараметр String и возвращает его):

@RequestMapping(value="/test", method=RequestMethod.GET)
public @ResponseBody String test(@RequestParam String teacherId) {

    return teacherId;
}

Когда я пытаюсь вызвать это с помощью метода getJSON jQuery, я получаю 404.

jQuery.getJSON("test", {teacherId:"123"});

У меня есть тег в моем приложении -servlet.xml, а Maven берет 3 банки Jackson (core, jaxrs и mapper, все версии 1.8.5) и упаковывает их в веб-приложение.Единственное, о чем я могу подумать, может быть, Spring Security не разрешает доступ к этому пути, но этот атрибут должен позволять уже аутентифицированным пользователям иметь доступ к этому: intercept-url pattern = "/ **" access = "ROLE_USER"

Так что я не уверен, что мне не хватает.

1 Ответ

0 голосов
/ 08 октября 2011

Я выяснил проблему из этого поста - Не найдено сопоставление для HTTP-запроса с URI [/WEB-INF/pages/apiForm.jsp]

Если я добавлю расширение в отображении сервлета, специально для DispatcherServlet, например:

<servlet-mapping>
        <servlet-name>palladium</servlet-name>
        <url-pattern>*.json</url-pattern>
</servlet-mapping>

и затем добавьте расширение к аннотации сопоставления запросов:

 @RequestMapping(value="/test.json", method=RequestMethod.GET)

Все идет хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...