2013-04-17 97 views
1

在我的練習中,我必須開發一個彈簧應用程序,應該可以通過WebGUI和REST服務訪問。 現在我瀏覽一下Spring MVC的示例,其中有關於Spring MVC的世界教程this彈簧Mvc Web應用程序與休息界面

控制器類似如下:

@Controller 
@RequestMapping("/welcome") 
public class HelloController { 

    @RequestMapping(method = RequestMethod.GET) 
    public String printWelcome(ModelMap model) { 
     model.addAttribute("message", "Spring 3 MVC Hello World"); 
    return "hello"; 
    } 
} 

然後我通過Spring REST example看起來像這樣看:

@Controller 
@RequestMapping("/movie") 
public class MovieController { 

@RequestMapping(value = "/{name}", method = RequestMethod.GET) 
public String getMovie(@PathVariable String name, ModelMap model) { 

    model.addAttribute("movie", name); 
    return "list"; 

} 

@RequestMapping(value = "/", method = RequestMethod.GET) 
public String getDefaultMovie(ModelMap model) { 

    model.addAttribute("movie", "this is default movie"); 
    return "list"; 

} 

} 

現在我想知道,怎麼辦這兩個例子(Spring的MVC和春天休息)不同? 他們都使用相同的註釋和工作類似。這不僅僅是REST的例子嗎?

如何爲Spring-MVC應用程序提供Rest-Interface?

問候

+0

RESTful服務與訪問資源的方式有關。請參閱:https://en.wikipedia.org/wiki/Representational_state_transfer#RESTful_web_APIs – Aurand

回答

1

兩個樣品是關於Spring Web MVC框架。

你應該更注重的定義,像什麼是REST

https://en.wikipedia.org/wiki/Representational_state_transfer

表述性狀態轉移意在喚起人們的 精心設計的Web應用程序的行爲的圖像:提出了一個網絡(虛擬狀態機),用戶通過選擇鏈接(狀態轉換)通過 應用程序前進,導致 下一頁(代表應用程序的下一個狀態)爲 轉移給用戶並呈現供其使用。

Spring Web MVC極大地方便了開發REST Web API,就是這樣。

2

爲了提供REST接口與Spring MVC應用程序,你可以申請@RequestMapping批註與路徑名到每個控制器中的方法,這對於每個其餘服務創建一個唯一的URL路徑你想提供。

意思是,其餘的服務只是Spring MVC控制器中使用@RequestMapping註解的方法。

如果您想了解Spring MVC中如何支持基於REST的服務,下面的鏈接可能會有所幫助:

http://blog.springsource.org/2009/03/08/rest-in-spring-3-mvc/#features

-1

記住@ResponseBody方法上的返回類型是REST。可以使用JSON或XML協商返回的對象。