Извинения, если вы находите этот вопрос тупым ... Я новичок в Spring Framework. Я часами искал ответ ...
Согласно официальной документации Spring Framework, вы можете присвоить имя аннотации RequestMapping
, используя свойство name
.
https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/bind/annotation/RequestMapping.html#name -
Итак, вопрос в том, какой смысл давать имя для отображения маршрута?
В Symfony framework мы можем использовать имя для отображения сгенерировать URL.
class BlogController
{
/**
* @Route(name="BlogComments", path="blog/{blog}/comments/{page}")
*/
public function listBlogComments(Blog blog, page)
{
...
}
}
И затем мы можем сгенерировать URL на основе имени маршрута.
// This will generate a string "blog/27/comments/1".
$url = $this->generateUrl('BlogComments', [
'blog' => 27,
'page' => 1
]);
Это возможно благодаря компоненту Symfony\Component\Routing\Router
.
Класс контроллера может быть записан следующим образом в среде Spring.
@Controller
@ResponseBody
class BlogController {
@RequestMapping(name="BlogComments", path="blog/{blog}/comments/{page}")
public List<Comment> listBlogComments(@PathVariable Blog blog, @PathVariable Long page) {
...
}
}
Теперь, как мне сгенерировать URL на основе имени сопоставления, которое в данном случае равно "BlogComments"
? Есть ли какой-либо компонент или служба Spring, доступные в рамках Symfony? Какие другие возможные варианты использования доступны?