`

SerfJ REST框架的示例代码

 
阅读更多

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

[代码]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>

[代码]serfj.properties

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

[代码]Bank.java

01 publicclassBankextendsRestController {
02 @GET
03 publicvoidindex() {
04 // By default, this action redirects to index.jsp (or index.html or index.htm)
05 }
06
07 @GET
08 publicvoidshow() {
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 publicvoidnewResource() {
26 // By default, this action redirects to new.jsp (or new.html or new.htm)
27 }
28
29 @GET
30 publicvoidedit() {
31 // By default, this action redirects to edit.jsp (or edit.html or edit.htm)
32 }
33
34 @POST
35 publicvoidcreate() {
36 // By default, this action redirects to create.jsp (or create.html or create.htm)
37 }
38
39 @PUT
40 publicvoidupdate() {
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 publicvoiddelete() {
57 // By default, this action redirects to delete.jsp (or delete.html or delete.htm)
58 }
59
60 @GET
61 publicvoidsomeAction() {
62 // By default, this action redirects to someAction.jsp (or someAction.html or someAction.htm)
63 }
64 }

[代码]Account.java

01 publicclassAccountextendsRestController {
02 @GET
03 publicvoidindex() {
04 // By default, this action redirects to index.jsp (or index.html or index.htm)
05 }
06
07 @GET
08 publicvoidshow() {
09 // By default, this action redirects to show.jsp (or show.html or show.htm)
10 }
11
12 @GET
13 publicvoidnewResource() {
14 // By default, this action redirects to new.jsp (or new.html or new.htm)
15 }
16
17 @GET
18 publicvoidedit() {
19 // By default, this action redirects to edit.jsp (or edit.html or edit.htm)
20 }
21
22 @POST
23 publicvoidcreate() {
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 publicvoidupdate() {
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 publicvoiddelete() {
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 publicBalance accountBalance() {
55 // Gets account's Id
56 String id =this.getId("account");
57
58 // Calculate balance
59 BalanceManager manager =newBalanceManager();
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