2014-03-31 4 views
0

Каков самый простой способ доступа к параметру неназванного запроса в Spring MVC-контроллере? Есть ли аннотация для этого похожего на @RequestParam?Spring MVC: Получить параметр «Без имени»

HTTP Удалить запрос с безымянным параметром:

http://localhost/myEndPoint?someUnnamedParam 

Контроллер:

public class MyController { 
    @RequestMapping(value = {"/myEndPoint"}, method = RequestMethod.DELETE) 
    public void deleteThing() { 
     // Do something with unnamed param 
    } 
} 

Деталь: Spring 3.0.7

+0

Что означает «неназванный» параметр? – GriffeyDog

+0

@GriffeyDog имеет форму '? Value' в отличие от'? Name = value' –

+0

Как насчет выполнения/myEndPoint/value и использования @PathVariable? – GriffeyDog

ответ

3

Я думаю, вы поняли.

В /myEndPoint?someUnnamedParam, у вас есть параметр с именем someUnnamedParam с String значением "", то есть. пустой String. Он анализируется как эквивалент /myEndPoint?someUnnamedParam=.

Вы можете получить набор имен параметров и использовать их как значения.

@RequestMapping(value = {"/myEndPoint"}, method = RequestMethod.DELETE) 
public void deleteThing((@RequestParam Map<String, List<String>> params) { 
    Set<String> paramNames = params.keySet(); 
    ... 
} 
1

Вы всегда можете использовать

@RequestMapping(value = {"/myEndPoint"}, method = RequestMethod.DELETE) 
public void deleteThing(HttpServletRequest request) {   
    String param = request.getQueryString(); 
     // Do something with request 
} 

и выполнять любые операции, необходимые на request

+0

Есть ли альтернатива не-Java-EE для 'HttpServletRequest'? И какой метод я бы назвал, чтобы получить неименованный параметр? –

+0

@MikeRylander Я вижу, что вы уже нашли ответ на свой вопрос :) – geoand

Смежные вопросы