Как найти идентификатор ссылки источника в контроллере Spring [duplicate]

изменить localhost на 127.0.0.1 в config.inc.php

$cfg['Servers'][$i]['host'] = '127.0.0.1';

Причиной этого является то, что pma пытается подключиться к mysql.socket, если вы используете localhost. Если вы используете 127.0.0.1 PMA создает TCP-соединение, которое должно работать.

231
задан Daniel Serodio 13 December 2012 в 20:26
поделиться

4 ответа

может случиться так, что приложение midi-типа application / x-www-form-urlencoded преобразует пространство в +, и приемник будет декодировать данные, преобразовывая + в space.check url для получения дополнительной информации. http: //www.w3.org/TR/html401/interact/forms.html#h-17.13.4.1

0
ответ дан andy 21 August 2018 в 16:01
поделиться
@PathVariable - must be placed in the endpoint uri and access the query parameter value from the request
@RequestParam - must be passed as method parameter (optional based on the required property)
 http://localhost:8080/employee/call/7865467

 @RequestMapping(value=“/call/{callId}", method = RequestMethod.GET)
 public List<Calls> getAgentCallById(
            @PathVariable(“callId") int callId,
            @RequestParam(value = “status", required = false) String callStatus) {

    }

http://localhost:8080/app/call/7865467?status=Cancelled

@RequestMapping(value=“/call/{callId}", method = RequestMethod.GET)
public List<Calls> getAgentCallById(
            @PathVariable(“callId") int callId,
            @RequestParam(value = “status", required = true) String callStatus) {

}
-1
ответ дан Mathew Menalish 21 August 2018 в 16:01
поделиться

Если URL http://localhost:8080/MyApp/user/1234/invoices?date=12-05-2013 получает счета-фактуры для пользователя 1234 5 декабря 2013 года, метод контроллера будет выглядеть следующим образом:

@RequestMapping(value="/user/{userId}/invoices", method = RequestMethod.GET)
public List<Invoice> listUsersInvoices(
            @PathVariable("userId") int user,
            @RequestParam(value = "date", required = false) Date dateOrNull) {
  ...
}

Кроме того, параметры запроса могут быть необязательными, а по параметрам пути Spring 4.3.3 также может быть необязательным . Остерегайтесь: это может изменить иерархию пути URL и ввести конфликты сопоставления запросов. Например, /user/invoices предоставит счета для пользователя null или подробности о пользователе с идентификационными «счетами»?

381
ответ дан Toastrackenigma 21 August 2018 в 16:01
поделиться
  • 1
    @PathVariable может использоваться в любом RequestMethod – Kurai Bankusu 1 July 2015 в 13:42
  • 2
    Этот def должен иметь галочку рядом с ней. – snowYetis 20 April 2016 в 21:24
  • 3
    @AlexO: это не имеет ничего общего с java8, оно работает даже для java 5 и Spring3.0: дело в том, что код скомпилирован с включенной отладкой. – Ralph 23 October 2016 в 08:18
  • 4
    @Ralph Correct, это работает с отладкой до Java 8. Так как Java 8 также работает без отладки, вместо этого используют «-параметры»: docs.spring.io/spring/docs/current/spring-framework-reference/ & hellip; docs.oracle.com/javase/tutorial/reflect/member/… – AlexO 27 October 2016 в 22:40
  • 5
    @ user3705478: Я так не думаю, потому что весна должна знать, что это метод обработчика запросов. (и, конечно же: @PathParam работает только в том случае, если в шаблоне uri есть местозаполнитель) – Ralph 1 April 2018 в 18:58

аннотация @RequestParam, используемая для доступа к значениям параметров запроса из запроса. Посмотрите на следующий URL-адрес запроса:

http://localhost:8080/springmvc/hello/101?param1=10&param2=20

В приведенном выше запросе URL-адреса для параметров param1 и param2 можно получить доступ, как показано ниже:

public String getDetails(
    @RequestParam(value="param1", required=true) String param1,
        @RequestParam(value="param2", required=false) String param2){
...
}

Ниже приведен список параметров, поддерживаемых аннотацией @RequestParam:

  • defaultValue - это значение по умолчанию в качестве механизма возврата, если запрос не имеет значения или он пуст.
  • name - Требуется имя параметра для привязки
  • - независимо от того, является ли параметр обязательным или нет. Если это правда, не удается отправить этот параметр.
  • Значение
  • - это псевдоним для атрибута name

@PathVariable

@ PathVariable идентифицирует шаблон, который используется в URI для входящего запроса. Давайте посмотрим на следующий URL-адрес запроса:

http: // localhost: 8080 / springmvc / hello / 101? Param1 = 10 & amp; param2 = 20

Вышеуказанный URL-запрос может быть записан в вашем Spring MVC, как показано ниже:

@RequestMapping("/hello/{id}")    public String getDetails(@PathVariable(value="id") String id,
    @RequestParam(value="param1", required=true) String param1,
    @RequestParam(value="param2", required=false) String param2){
.......
}

Аннотации @PathVariable имеют только одно значение атрибута для привязки шаблона URI запроса. Разрешено использовать несколько аннотаций @PathVariable в одном методе. Но убедитесь, что не более одного метода имеет один и тот же шаблон.

Также есть еще одна интересная аннотация: @MatrixVariable

http: // localhost: 8080 / spring_3_2 / matrixvars / stocks; BT.A = 276,70, + 10,40, + 3,91, AZN = 236,00, + 103,00, + 3,29; SBRY = 375.50, + 7.60, + 2.07

И метод контроллера для него

 @RequestMapping(value = "/{stocks}", method = RequestMethod.GET)
  public String showPortfolioValues(@MatrixVariable Map<String, List<String>> matrixVars, Model model) {

    logger.info("Storing {} Values which are: {}", new Object[] { matrixVars.size(), matrixVars });

    List<List<String>> outlist = map2List(matrixVars);
    model.addAttribute("stocks", outlist);

    return "stocks";
  }

Но вы должны включить:

<mvc:annotation-driven enableMatrixVariables="true" >
70
ответ дан Xelian 21 August 2018 в 16:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: