rest full api使用方便能够很好的弱耦合,那么spring对rest full服务很好的支持。
依赖的jar:
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>4.1.0.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.1.0.RELEASE</version> </dependency>
web.xml配置:
<servlet> <servlet-name>spring</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-mvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-admin.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <listener> <listener-class> org.springframework.web.util.IntrospectorCleanupListener</listener-class> </listener>
spring-mvc.xml:
<mvc:resources mapping="/static/**" location="/static/" /> <mvc:annotation-driven> <mvc:message-converters> <bean class="org.springframework.http.converter.StringHttpMessageConverter" /> <bean class="org.springframework.http.converter.ResourceHttpMessageConverter" /> <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"> <property name="supportedMediaTypes" value="application/json" /> </bean> </mvc:message-converters> </mvc:annotation-driven> <context:component-scan base-package="com.linkrmb" /> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/WEB-INF/jsp/" p:suffix=".jsp" />
rest api相关的控制层代码:
@RestController @RequestMapping("/api") public class ApiController extends BaseController { private Logger log = LoggerFactory.getLogger(ApiController.class); @RequestMapping(value = "/{id}", method = RequestMethod.GET) @ResponseBody public Item get(@PathVariable String id, HttpServletRequest request) { Item item = new Item(); item.setId(id); item.setName("name"); return item; } @RequestMapping(method = RequestMethod.POST) @ResponseBody public void post(Item item, HttpServletRequest request) { log.info("post item:{}", item.toString()); } @RequestMapping(method = RequestMethod.PUT,consumes=MediaType.APPLICATION_JSON_VALUE,produces=MediaType.APPLICATION_JSON_VALUE) @ResponseBody public void put(@RequestBody Item item, HttpServletRequest request) { log.info("put item:{}", item.toString()); } @RequestMapping(value = "/{id}", method = RequestMethod.DELETE) @ResponseBody public void delete(@PathVariable String id, HttpServletRequest request) { log.info("delete id:{}", id); } }
相关推荐
Flowable提供了REST API和命令行工具来部署,或者我们可以在初始化Spring Boot应用时,通过代码自动部署。 通过以上步骤,你已经成功地将Flowable工作流引擎集成到Spring Cloud 2.0的微服务架构中。这将使你的应用...
1. **Spring Boot**: Spring Boot是由Pivotal Team创建的Java框架,用于简化Spring应用程序的初始搭建以及开发过程。它预设了许多默认配置,使得开发者可以快速启动项目,同时提供了依赖管理和自动配置功能。 2. **...
3. **Spring框架**:Spring是Java领域最流行的框架之一,提供依赖注入(DI)和面向切面编程(AOP),简化了Web应用的开发。Spring Boot则进一步简化配置,让开发者能快速搭建应用。Spring MVC是Spring框架的一部分,...
2. **高度扩展性**:支持plug-in机制,允许开发者加载或卸载特定插件,如jessma-ext-rest和jessma-ext-spring等,并且可以编写自定义插件来满足特殊需求。 3. **强大的整合能力**:JessMA作为一个开放式框架,能够...
另一个重要的框架是Spring Boot,它是Spring的简化版,旨在简化新Spring应用的初始搭建以及开发过程。通过内嵌的Tomcat或Jetty服务器,Spring Boot可以快速启动并运行。 前端方面,全栈开发者通常需要掌握HTML、CSS...
2. **高度扩展性**:JessMA框架设计了灵活的插件机制,允许加载或卸载预置的插件,如jessma-ext-rest和jessma-ext-spring,并允许开发者根据需求自定义插件进行扩展。 3. **强大的整合能力**:JessMA可以轻松整合...