`
wbj0110
  • 浏览: 1603865 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

SerfJ REST框架的示例代码

阅读更多

[1].[代码] web.xml 

01 <servlet>
02     <servlet-name>RestServlet</servlet-name>
03     <servlet-class>net.sf.serfj.RestServlet</servlet-class>
04     <load-on-startup>5</load-on-startup>
05 </servlet>
06   
07 <servlet-mapping>
08     <servlet-name>RestServlet</servlet-name>
09     <url-pattern>/banks/*</url-pattern>
10 </servlet-mapping>
11   
12 <servlet-mapping>
13     <servlet-name>RestServlet</servlet-name>
14     <url-pattern>/accounts/*</url-pattern>
15 </servlet-mapping>

[2].[代码] serfj.properties 

1 # Main package where looking for classes (controllers, serializers)
2 main.package=net.sf.serfj.test

[3].[代码] Bank.java 

01 public class Bank extends RestController {
02     @GET
03     public void index() {
04         // By default, this action redirects to index.jsp (or index.html or index.htm)
05     }
06   
07     @GET
08     public void show() {
09         // Gets ID from URL /banks/1
10         String id = this.getId("bank");
11          
12         // Gets account's ID from URL /banks/1/accounts/2
13         String accountId = this.getId("account");
14   
15         // Gets the account
16         Account account = // Code that gets the account 2 from bank 1
17          
18         // Put account into the request so the page will be able to use it
19         this.addObject2Request("account", account);
20           
21         // By default, this action redirects to show.jsp (or show.html or show.htm)
22     }
23   
24     @GET
25     public void newResource() {
26         // By default, this action redirects to new.jsp (or new.html or new.htm)
27     }
28   
29     @GET
30     public void edit() {
31         // By default, this action redirects to edit.jsp (or edit.html or edit.htm)
32     }
33   
34     @POST
35     public void create() {
36         // By default, this action redirects to create.jsp (or create.html or create.htm)
37     }
38   
39     @PUT
40     public void update() {
41         // Gets bank's ID
42         String id = this.getId("bank");
43   
44         Bank bank = // Code that gets the bank object     
45   
46         // Gets new name for the bank
47         String name = this.getStringParam("name");
48          
49         // Updating the bank
50         // ... Code that updates the bank's information
51   
52         // By default, this action redirects to update.jsp (or update.html or update.htm)
53     }
54   
55     @DELETE
56     public void delete() {
57         // By default, this action redirects to delete.jsp (or delete.html or delete.htm)
58     }
59   
60     @GET
61     public void someAction() {
62         // By default, this action redirects to someAction.jsp (or someAction.html or someAction.htm)
63     }
64 }

[4].[代码] Account.java 

 
01 public class Account extends RestController {
02     @GET
03     public void index() {
04         // By default, this action redirects to index.jsp (or index.html or index.htm)
05     }
06   
07     @GET
08     public void show() {
09         // By default, this action redirects to show.jsp (or show.html or show.htm)
10     }
11   
12     @GET
13     public void newResource() {
14         // By default, this action redirects to new.jsp (or new.html or new.htm)
15     }
16   
17     @GET
18     public void edit() {
19         // By default, this action redirects to edit.jsp (or edit.html or edit.htm)
20     }
21   
22     @POST
23     public void create() {
24         // By default, this action redirects to create.jsp (or create.html or create.htm)
25         // But I want to render another page!... easy
26         this.renderPage("mypage.jsp");
27     }
28   
29     @PUT
30     public void update() {
31         // By default, this action redirects to update.jsp (or update.html or update.htm)
32         // But I want to render another page... from another controller!... easy
33         this.renderPage("bank", "another_page.jsp");
34     }
35   
36     @DELETE
37     public void delete() {
38         // By default, this action redirects to delete.jsp (or delete.html or delete.htm)
39         // Well, if something happens, I want to redirect to mypage.jsp
40         if (somethingHappens) {
41             this.renderPage("mypage.jsp");
42         } else {
43             // Default page
44             this.renderPage();
45         }
46     }
47   
48     /**
49      * If this method is called as /accounts/1/accountBalance.xml, then the balance object will
50      * be serialized as an XML, whereas if it's called as /accounts/1/accountBalance.json, the
51      * object will be serialized as a JSON object.
52      */
53     @POST
54     public Balance accountBalance() {
55        // Gets account's Id
56        String id = this.getId("account");
57          
58        // Calculate balance
59        BalanceManager manager = new BalanceManager();
60        Balance balance = manager.getBalance(id);
61        this.serialize(balance);
62     }
63 }
分享到:
评论

相关推荐

    flowablek框架示例代码

    这个"flowablek框架示例代码"压缩包可能是为了帮助开发者更好地理解和应用 Flowable 框架而提供的实践代码集合。尽管标签为"小说",但我们可以推断这里指的是某种与 Flowable 相关的项目或教程。 Flowable 框架的...

    REST开发框架及示例

    综上所述,"REST开发框架及示例"涵盖了RESTful API的设计理念、使用特定开发框架构建REST服务的方法,以及相关工具的使用,这些都是现代Web开发中的关键技能。通过学习和实践这些知识点,开发者能够构建高效、可维护...

    SerfJ-0.4.1 源代码

    SerfJ 是一个最简单的框架用来开发Java的REST的Web应用。可帮助你开发优雅的MVC架构的应用,使用惯例重于配置的思路,无需配置文件和注解。

    django-api-rest-and-angular, 将 Django Rest框架与AngularJS结合起来的一个示例库.zip

    django-api-rest-and-angular, 将 Django Rest框架与AngularJS结合起来的一个示例库 带有 Django Rest框架和angularjs资源的 Django API这个示例项目是博客文章的伴侣,关于如何开始使用 Django Rest框架和 ...

    超轻量级的REST框架实现

    结合标签“源码”和“工具”,我们可以推断这篇博文可能不仅讨论了REST框架的概念和设计,还可能提供了实际的源代码示例,帮助读者理解并应用到自己的项目中。源码分析是学习新框架的重要方式,通过阅读和研究源码,...

    REST框架简单实现

    在给定的描述中,提到的是使用简单的Servlet实现REST框架。Servlet是Java中用于处理HTTP请求的组件,它可以被用来构建动态Web应用程序。下面我们将深入探讨如何利用Servlet实现RESTful API。 首先,了解REST的基本...

    rest简单示例

    5. **WebREST**:这个压缩包可能包含了服务端的源代码(如Java、Python、Node.js等)、配置文件(如web.xml,application.properties等)以及客户端的示例代码。服务端代码可能包含了REST控制器,用于处理HTTP请求,...

    rest-framework-tutorial, REST框架教程的源代码.zip

    **REST框架教程源代码概述** 本教程主要关注的是Django REST框架的应用,它是一个强大的工具,用于快速构建高质量的APIs。Django REST框架(简称DRF)是Python Web开发中广泛使用的开源库,它为Django提供了构建Web...

    jersery client调用REST框架web services服务的一个示例

    标题 "jersery client调用REST框架web services服务的一个示例" 描述了一种使用Jersey客户端库来访问RESTful Web服务的技术。REST(Representational State Transfer)是一种网络应用程序的设计风格和开发方式,基于...

    activiti-rest框架基础接口文档_v1.0.docx

    Activiti REST 框架基础接口文档 Activiti 是一个基于 Java 的工作流引擎,提供了一个 RESTful API 来访问和操作工作流相关的资源。Activiti REST 框架提供了一个简洁的接口来访问和操作Activiti引擎,方便开发者...

    django-rest-framework-jwt, Django REST框架的JSON网络令牌认证支持.zip

    django-rest-framework-jwt, Django REST框架的JSON网络令牌认证支持 REST框架JWT认证 Django REST框架的代价为的JSON Web令牌认证项目的完整文档在文档可用。概述这个包提供了对 Django REST框架框架的 JSON网络...

    Rest框架及实践

    南方航空 Rest框架及实践 Rest框架及实践

    REST服务示例入门

    2. 由于【1】的改动,使得只有以/rest开头的URL才能映射到某资源,使用rest服务时,必须要加上/rest。 3. 由于【1】的改动,RestComponent类注册application时将资源字符串加上了/rest。 4. 由于【1】的改动和本人...

    使用DJANGO REST框架的聊天应用程序源代码

    项目:使用Django REST框架的简单聊天应用 这是一个使用Python Django框架和Rest API制作的简单Web聊天应用。它包含了任何聊天应用的所有特性,如登录、注册功能,允许用户与系统中注册的任何人聊天。 关于系统 该...

    Python-一个DjangoREST框架

    Django REST框架拥有活跃的社区和详尽的官方文档,为开发者提供了丰富的示例和教程,帮助他们快速上手和解决问题。 通过学习和使用Django REST框架,你可以高效地构建出高质量的RESTful API,满足Web应用和移动应用...

    drf-example:Django REST框架示例

    Django REST框架示例 运行pipenv install来安装依赖项。 运行pipenv shell激活Python虚拟环境。 运行数据库迁移。 (此示例使用sqlite。) ./manage.py migrate 运行单元测试。 ./manage.py test 运行服务器 ./...

    DjangoREST框架React快速入门

    **Django REST 框架与 React 快速入门** ...在 `django-drf-react-quickstart-master` 项目中,你将找到一个完整的示例,涵盖了上述所有概念,这将帮助你快速启动并运行一个结合了 Django REST 和 React 的应用。

    OAuth支持的DjangoREST框架

    **OAuth支持的Django REST框架** Django REST框架(Django REST framework,简称DRF)是基于Python的流行Web服务开发工具,它为快速构建高质量的API提供了强大的支持。而OAuth,全称Open Authorization,是一种开放...

    django-rest-framework-docs, Django Rest框架 v2.API端点的清单工具.zip

    django-rest-framework-docs, Django Rest框架 v2.API端点的清单工具 ** 这里软件包不再被维护 **,请使用 Django REST 。( 0.1.7 ) =========================== Rest框架文档Rest框架文档是为 Django Rest框架v2...

Global site tag (gtag.js) - Google Analytics