首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Spring的RESTful Webservice服务

问使用Spring的RESTful Webservice服务
EN

Stack Overflow用户
提问于 2016-09-04 14:24:38
回答 3查看 495关注 0票数 0

我使用Spring编写了一些RESTful etc服务(通过阅读在线/视频教程等),但我仍然有一些疑问。

当我们使用Spring模块编写一个web应用程序时,我们使用控制器代码,类似于以下所示:

代码语言:javascript
复制
@Controller
public class SimpleController {

    @RequestMapping("/welcome")
        ModelAndView handleIncomingWelcomeReq() {

        ModelAndView mw = new ModelAndView("WelcomePage","welcomeKey","WelcomeKey's value!");

        return mw;
    }

}

在上面的代码中,有这个控制器返回的ModelAndView对象,可以像下面的URL那样调用这个对象:

代码语言:javascript
复制
http://localhost:8080/contextRoot/welcome

现在,如果我们排除“视图”部分并只返回模型,它不像一个web服务吗?

所以我怀疑,在春季,我们是否使用相同的API/jar来创建web应用程序或RESTful web服务?

我所读到的是,对于Spring支持,它有注释@RestController注释(它本身类似于@Contoller + @ResponseBody注释)。

那么,在Spring框架中,REST WS和web应用程序的实现有什么不同呢?

有人能帮我理解这个吗?

EN

回答 3

Stack Overflow用户

发布于 2016-09-04 18:45:21

是的,我们可以使用Spring编写RestService & web应用程序。使用@RestController公开REST服务,使用@Controller公开web应用程序。

@RestController是带有@Controller和@ResponseBody的元注释。@Controller将搜索已注册的ViewResolvers,而@RestController则不会搜索。

票数 0
EN

Stack Overflow用户

发布于 2016-09-05 08:32:13

代码语言:javascript
复制
@Controller
public class SimpleController {
@RequestMapping("/welcome", method = RequestMethod.GET, produces="application/json")
    public @ResponseBody JSONObject handleIncomingWelcomeReq() {
    JSONObject j = new JSONObject();
    j.put("welcomeKey", "WelcocmeKey's value!");
    return j;
}

下面是在json中返回响应的代码,主要是用户id、Rest、Apis。

票数 0
EN

Stack Overflow用户

发布于 2016-09-21 12:24:42

我建议使用@Controller而不是@RestController,因为@RestController不会扫描您的视图。因此,如果您的应用程序有自己的视图,并且还需要公开它的服务,您可以使用@Controller和@ResponseBody注释,输出作为JSON。

另一种选择是为RESTful the服务提供完全不同的URL,其中不同的控制器将处理请求。可以用@RestController对这些不同的控制器进行注释。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39317936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档