SpringBootREST应用程序

SpringBootREST应用程序,rest,model-view-controller,spring-boot,Rest,Model View Controller,Spring Boot,我试图通过遵循教程,使用SpringBoot在Java中创建一个RESTful应用程序。我想修改它,这样我就可以从URL中提取一个标识符,并使用它来服务请求 所以http://localhost:8080/members/应该为我提供一个JSON对象,其中包含ID为的成员的信息。我不知道该怎么做 将所有*映射到单个控制器 从URL中提取 根据MVC架构,提取memberId并使用它的逻辑应该是控制器的一部分还是一个单独的类 我是Spring/Spring boot/MVC新手。一开始就很混乱。所

我试图通过遵循教程,使用SpringBoot在Java中创建一个RESTful应用程序。我想修改它,这样我就可以从URL中提取一个标识符,并使用它来服务请求

所以
http://localhost:8080/members/
应该为我提供一个JSON对象,其中包含ID为
的成员的信息。我不知道该怎么做

  • 将所有*映射到单个控制器
  • 从URL中提取
  • 根据MVC架构,提取memberId并使用它的逻辑应该是控制器的一部分还是一个单独的类

  • 我是Spring/Spring boot/MVC新手。一开始就很混乱。所以请记住我的新手问题。

    正如您在下面的代码中所看到的,客户服务在一个控制器中获得一个控制器并添加新客户

    因此,您将有2项服务:

    {id}

    }

    将所有*映射到单个控制器

    您可以在到的请求映射中使用占位符,以便它可以处理多个URL。例如:

    @RequestMapping("/members/{id}")
    
    从URL中提取id

    您可以使用
    @PathVariable
    注释将占位符的值注入控制器方法,该注释的值与占位符的名称匹配,在本例中为“id”:

    @RequestMapping("/members/{id}")
    public Member getMember(@PathVariable("id") long id) {
        // Look up and return the member with the matching id       
    }
    
    根据MVC架构,提取memberId并使用它的逻辑应该是控制器的一部分还是一个单独的类

    您应该让SpringMVC从URL中提取成员id,如上所示。至于使用它,您可能会将URL传递给某种提供
    findById
    方法的存储库或服务类

    @RequestMapping("/members/{id}")
    public Member getMember(@PathVariable("id") long id) {
        // Look up and return the member with the matching id       
    }