#spring-mvc
#spring-mvc
Вопрос:
Недавно я видел код, подобный:
public String myMethodHere(@RequestParam(PARAM_FOO_ID) Integer fooId,
Model model) {
//some implementation
}
private static final String PARAM_FOO_ID = "fooId";
Есть ли преимущество в том, чтобы сделать параметр запроса статической конечной строкой?
Я не видел, чтобы на нее где-либо еще ссылались в SO, и примеры в Spring docs этого не делают.
Ответ №1:
С точки зрения производительности это не выгодно, поскольку строки все равно интернируются. Но таким образом, она более удобна в обслуживании.
Если у вас есть несколько методов контроллера, которые принимают "fooId"
в качестве параметра запроса, вы можете просто повторно использовать PARAM_FOO_ID
во всех этих контроллерах. Затем, если клиентская сторона решит изменить параметр запроса для отправки в вашу конечную точку rest, все, что требуется, это просто изменить значение PARAM_FOO_ID
, тогда ваш контроллер готов принять эти изменения.
Комментарии:
1. Хорошо, для меня это кажется незначительным преимуществом (добавлены строки кода, приходится искать параметры запроса при отладке)