原创转载请注明出处:http://agilestyle.iteye.com/blog/2354390
Spring Project Directory
Maven Dependency
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.fool</groupId> <artifactId>springmvc</artifactId> <name>springmvc</name> <packaging>war</packaging> <version>1.0.0-BUILD-SNAPSHOT</version> <properties> <org.springframework-version>4.2.9.RELEASE</org.springframework-version> </properties> <dependencies> <!-- Spring --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${org.springframework-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${org.springframework-version}</version> </dependency> <!-- @Inject --> <dependency> <groupId>javax.inject</groupId> <artifactId>javax.inject</artifactId> <version>1</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.4</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.8.6</version> </dependency> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>21.0</version> </dependency> <!-- Test --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <configuration> <source>1.8</source> <target>1.8</target> <compilerArgument>-Xlint:all</compilerArgument> <showWarnings>true</showWarnings> <showDeprecation>true</showDeprecation> </configuration> </plugin> <plugin> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>9.3.11.v20160721</version> <configuration> <scanIntervalSeconds>10</scanIntervalSeconds> <webApp> <contextPath>/springmvc</contextPath> </webApp> <httpConnector> <port>8080</port> </httpConnector> </configuration> </plugin> </plugins> </build> </project>
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <!-- The definition of the Root Spring Container shared by all Servlets and Filters --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring/root-context.xml</param-value> </context-param> <!-- Creates the Spring Container shared by all Servlets and Filters --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- Processes application requests --> <servlet> <servlet-name>appServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>appServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
root-context.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- Root Context: defines shared resources visible to all other web components --> </beans>
servlet-context.xml
<?xml version="1.0" encoding="UTF-8"?> <beans:beans xmlns="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!-- DispatcherServlet Context: defines this servlet's request-processing infrastructure --> <!-- Enables the Spring MVC @Controller programming model --> <annotation-driven /> <!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory --> <resources mapping="/resources/**" location="/resources/" /> <!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory --> <beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <beans:property name="prefix" value="/WEB-INF/views/" /> <beans:property name="suffix" value=".jsp" /> </beans:bean> <context:component-scan base-package="org.fool.springmvc" /> </beans:beans>
User.java
package org.fool.springmvc; import java.util.Date; import java.util.Map; import org.apache.commons.lang3.builder.ReflectionToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.google.common.collect.Maps; public class User { private String username; private String password; private Date registerDate; private Map<String, String> address = Maps.newHashMap(); public User() { } public User(String username, String password, Date registerDate) { this.username = username; this.password = password; this.registerDate = registerDate; } @Override public String toString() { return ReflectionToStringBuilder.toString(this, ToStringStyle.SHORT_PREFIX_STYLE, true, true); } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public Date getRegisterDate() { return registerDate; } public void setRegisterDate(Date registerDate) { this.registerDate = registerDate; } public Map<String, String> getAddress() { return address; } public void setAddressMap(Map<String, String> address) { this.address = address; } public static void main(String[] args) { User user = new User(); user.setUsername("Hello"); user.setPassword("World"); user.setRegisterDate(new Date()); user.getAddress().put("Shanghai", "Pudong"); user.getAddress().put("Beijing", "Dongcheng"); System.out.println(user); } }
UserController.java
package org.fool.springmvc; import java.util.Date; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import com.google.common.base.Strings; @Controller @RequestMapping("/user") public class UserController { @RequestMapping(value = "/testuser", method = RequestMethod.GET) @ResponseBody public User testResponseBody( @RequestParam("username") String username, @RequestParam("password") String password) { if(Strings.isNullOrEmpty(username)) { username = "Hello"; } if(Strings.isNullOrEmpty(password)) { password = "World"; } User user = new User(username, password, new Date()); user.getAddress().put("Shanghai", "Pudong"); user.getAddress().put("Beijing", "Dongcheng"); return user; } }
jetty:run & test
http://localhost:8080/springmvc/user/testuser?username=spring&password=rest
Express Project Directory
npm init
npm install request --save
index.js
var request = require('request'); var url = 'http://localhost:8080/springmvc/user/testuser?username=spring&password=rest'; request(url, function(error, response, body) { console.log(response.statusCode); if(!error && response.statusCode == 200) { console.log(body); var data = JSON.parse(body); console.log(data); console.log(data.username); console.log(data.password); console.log(data.registerDate); console.log(data.address.Shanghai); console.log(data.address.Beijing); } });
Run
相关推荐
基于nodejs的websocket平台,该平台包括异步的数据库调用,异步的rest api访问,以及能够提供rest api的服务。该平台能实现基于ws的聊天室,可以将聊天的信息调用rest api存储到数据库,可以通过网页访问该平台提供...
Node-FSAPI, 用于NodeJS的rest式 文件系统 API node 文件系统 APInode fsapi为与远程文件系统交互提供了一个rest式( CRUD ) 服务器。 它依靠( 读取) 。POST ( 创建) 。( 更新) 和使用纯语言语法删除( 删除) 命令。...
从分叉 书店 Bookstore是一个简单的Web应用程序,其中包括Express RESTful API... 单击阅读文章,其中简短提醒您什么是合同测试,Spring Cloud Contract如何实现它以及如何在多语言世界中使用Spring Cloud Contract。
Spring Boot可以通过Spring MVC或者Spring WebFlux来创建REST服务。此外,配置安全框架如Spring Security,可以保护这些API免受未经授权的访问。 在项目结构中,Node.js部分可能包含HTML、CSS、JavaScript等前端...
使用MongoDB在NodeJS中构建REST API,然后从您的Android应用程序调用REST服务。 启动服务器(命令行) `node server.js` Android应用程序的功能 添加新客户 更新客户信息 删除客户 显示所有客户 应用
NodeJS中REST API的代码库 该代码库帮助新的NodeJS开发人员使用NodeJS开发REST API。 此代码库包含在某些预捆绑包服务或帮助程序中,例如身份验证,日志记录和预定义的配置。 入门 这些说明将为您提供在本地计算机上...
NodeJS中的REST微服务样板 特征 带有Swagger UI的REST API 中间件(压缩器,头盔,cors,favicon,身体分析器和静态) 开玩笑的单元测试 ES6,ESLint CI与Travis,Docker Build 安装 # install dependencies npm...
什么是REST_如何用NodeJS开发REST_API_【JavaScript全栈入门教程7】
Nodejs-REST-API 该项目是使用 Nodejs 的 REST API 示例。项目结构Package.json :此文件包含项目的依赖项。 app.js :这个文件是主程序。如何开始安装 epel 存储库: sudo yum install epel-release安装 nodejs: ...
restberry, 使用NodeJS设置rest式 JSON api的框架 Restberry既可以使用 Express,也可以使用 Restify !使用NodeJS设置rest式 JSON api的框架。 定义模型和设置 CRUD API调用,而无需编写任何代码( 请参见使用情况。...
plotly-nodejs, Plotly和 REST api流的node.js 包装器 Plotly node API 分析和可视化数据,一起流 plot-示例模拟传感器流数学酒吧安装npm install plotly用法var plotly = require('plotly')
api-rest-express _RESTful API实现清洁架构开始 :rocket: 这些说明将使您获得在本地计算机上运行的项目的副本,以进行开发和测试。前提条件 :clipboard: 您需要什么东西来安装软件以及如何安装它们Lo primero que ...
nodejs-sqlite-restapi-app 关于应用程序 此应用程序是关于对自行车进行CRUD操作。 先决条件 节点js (可选) 设置 克隆存储库。 git clone ...
Beve 服务器 REST API 使用准系统 Node.js API。 在本地运行 确保你已经安装了和 。 $ git clone git@github.com:beveinc/server-nodejs.git $ cd server-nodejs $ npm install $ npm start 您的应用程序现在应该...
$ git clone git@github.com:aleicher/nodejs-rest-api-example.git # or clone your own fork$ cd nodejs-rest-api-example$ npm install$ npm start 您的应用程序现在应该在上运行。部署到 Heroku 确保首先运行:...
节点API 这是使用NodeJS开发的示例Rest API 安装说明请按照以下说明安装应用程序并通过模拟(内存)数据服务运行它: 确保已安装npm: 克隆存储库: git clone 导航到NodeAPI目录: cd NodeAPI 安装依赖项npm安装在...
Mystik (MkTable) 是用于数据库系统的通用 Javascript DAO(数据访问对象),包括 NoSQL 数据库、Redis、NodeJS 支持和 REST API Web 服务处理。 它还允许在客户端和服务器端使用相同的查询语法来获取数据。 数据...
JavaScript_ChatGPT和Bing AI的客户端实现,可作为Nodejs模块REST API服务器和CLI应用.zip
Nodejs-Restapi-样板 一个样板/入门项目,用于使用Node.js,Express和Mongoose构建RESTful API。目录结构总览项目src结构目录。 src/├─ config/│ ├─ config.js├─ controller.js│ ├─ controller.index.js│...
设置Kubernetes集群并部署REST API 在您的k8s主服务器中执行deploy.sh脚本。 它将创建您的ssl证书。 使用以下方法获取服务网址: kubectl get services app --url 用您最喜欢的测试人员调用REST API API说明 返回...