【问题标题】:Creating a Client using Spring MVC for a RESTful API使用 Spring MVC 为 RESTful API 创建客户端
【发布时间】:2013-03-06 10:05:56
【问题描述】:

我是 Spring 框架和 REST 概念的新手。我一直在做一个项目来有效地掌握这些概念。 我正在构建一个测验工具,用户可以使用他的凭据登录并参加测验。 我已经使用 JAX-RS 创建了一个 RESTful API。现在我想使用 Spring MVC 创建一个可以在这个 API 上工作的客户端。 那有可能吗?如何开始? 我的意思是,如何使用 Spring MVC 为我的 RESTful API 创建客户端??

我的一些资源是 -

GET   /scorecard      
GET   /scorecard/{quizId}
GET   /scorecard/{userId}
GET   /quiz/{questionId}
POST  /quiz/{questionId}
and so on..

我对使用 Spring MVC 的客户端的设计方面感到非常困惑。我是否在 API 或 Spring MVC 客户端中包含评估测验、计算和存储分数的逻辑??

提前感谢。

【问题讨论】:

    标签: rest spring-mvc


    【解决方案1】:

    这是使用 Spring MVC 实现的前两个端点的示例:

    @Controller
    @RequestMapping(value = "/scorecard")
    public class ScorecardController {
    
        @Autowired
        private ScorecardService scorecardService;
    
        // GET   /scorecard
        @RequestMapping(method = RequestMethod.GET)
        public List<Scorecard> getScorecards()
        {
            List<Scorecard> scorecards = scorecardService.getScorecards();
            return scorecards;
        }
    
        // GET   /scorecard/{quizId}
        @RequestMapping(value = "/{quizId}", method = RequestMethod.GET)
        public List<Scorecard> getScorecardsByQuizId(@PathVariable long quizId)
        {
            List<Scorecard> scorecards = scorecardService.getScorecardsByQuizId(quizId);
            return scorecards;
        }
    }
    

    【讨论】:

    • 谢谢大卫。另外,你能告诉我如何将我的客户端连接到 API 吗?我应该在客户端包含我的业务逻辑(评估测验、计算分数、身份验证等)吗? (因为我的服务是 RESTful 并且假设我的客户端在不同服务器上的 Web 上运行。)
    【解决方案2】:

    我建议从 Github 上查看 spring mvc 展示项目并尝试使用源代码。

    spring-mvc-showcase

    您可以轻松地将您的浏览器用作客户端来进行大量 REST 调用。

    应用设计取决于要求。例如 将分数保持在客户端将使您免于会话管理,否则您将需要在服务器上处理。

    【讨论】:

      猜你喜欢
      • 2018-01-18
      • 2013-04-24
      • 1970-01-01
      • 2018-12-21
      • 2016-07-17
      • 2016-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多