spring-rest.xml 2.63 KB
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
	xsi:schemaLocation="
   http://www.springframework.org/schema/beans     
   http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
   http://www.springframework.org/schema/context
   http://www.springframework.org/schema/context/spring-context-4.0.xsd
   http://www.springframework.org/schema/mvc
   http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
	<context:annotation-config />
	<context:component-scan base-package="cn.runsa.crmapp.rest" name-generator="cn.runsa.portal.base.QualifiedBeanNameGenerator">
		<context:include-filter type="annotation" expression="org.springframework.web.bind.annotation.RestController"/>
		<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
		<context:include-filter type="annotation" expression="org.springframework.web.bind.annotation.ControllerAdvice"/>
	</context:component-scan>
	<mvc:annotation-driven content-negotiation-manager="contentManager">
		<mvc:message-converters register-defaults="true">
			<bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
				<property name="features">
					<array>
						<value>WriteNullListAsEmpty</value>
						<value>WriteNullBooleanAsFalse</value>
					</array>
				</property>
			</bean>
			<bean class="cn.runsa.crmapp.rest.convert.XmlHttpMessageConvert" />
		</mvc:message-converters>
		<mvc:argument-resolvers>
			<bean class="cn.runsa.crmapp.rest.bind.AccessTokenResolver" />
			<bean class="cn.runsa.crmapp.rest.bind.PhoneCaptchaResultResolver" />
		</mvc:argument-resolvers>
	</mvc:annotation-driven>
	<bean id="contentManager" class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean">
		<property name="favorPathExtension" value="false" />
		<property name="favorParameter" value="true" />
		<property name="parameterName" value="_type" />
		<property name="ignoreAcceptHeader" value="true" />
		<property name="defaultContentType" value="application/json" />
		<property name="useJaf" value="false" />
		<property name="mediaTypes">
			<map>
				<entry key="json" value="application/json" />
				<entry key="xml" value="application/xml" />
			</map>
		</property>
	</bean>
	<mvc:interceptors>
		<mvc:interceptor>
			<mvc:mapping path="/**" />
			<bean class="cn.runsa.crmapp.rest.interceptor.LogInterceptor"></bean>
		</mvc:interceptor>
	</mvc:interceptors>
</beans>