【问题标题】:Sharing RequestMapping spring分享RequestMapping spring
【发布时间】:2017-05-12 07:40:16
【问题描述】:

我尝试用 spring 构建一个 rest api 并面临一些问题。我最初的 api 是在 node 上使用 express 构建的,并且看到一些我很习惯的东西在春天看起来更复杂。

例如,我有以下情况,我甚至可以从 UserController 借用 /tasks 的“控制器”。

/users
/users/:id
/users/:id/tasks
/tasks

或者我可以轻松地继承路由,我将它们委派下来。 Spring 似乎没有类似的东西,我可以在其中引用已经存在的控制器。在我看来,RequestMapping 值甚至变得很长。

Spring 中是否有类似 express 的东西?因为我找不到任何大型 spring mvc rest 项目来说明这一点

【问题讨论】:

  • 其实@RequestMapping支持多个取值。您可以将所有路径字符串放在 UserController 的映射中

标签: java spring spring-mvc


【解决方案1】:

您可以为@RequestMapping 添加多个值,也可以使用适合您需要的Path Variables。例如,

@RequestMapping(value = "/users/{id}/tasks", method = GET)
public String getUserTaksFromIdPathVariable(@PathVariable("id") long id) {
    return "Get all tasks from user with id=" + id;
}

正如我所说,你可以有多个值:

@RequestMapping({"/tasks", "/users/{id}/tasks"}, method = GET)
public String getTasks(@PathVariable("id") Optional<long> id) {
    return "whatever";
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-22
    • 2015-06-26
    • 2017-09-18
    • 2011-07-13
    相关资源
    最近更新 更多