
org.onetwo.common.apiclient.impl.RestApiClentRegistrar Maven / Gradle / Ivy
package org.onetwo.common.apiclient.impl;
import org.onetwo.common.apiclient.RestExecutorFactory;
import org.onetwo.common.apiclient.annotation.EnableRestApiClient;
import org.onetwo.common.apiclient.annotation.RestApiClient;
import org.springframework.beans.factory.support.AbstractBeanDefinition;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.core.annotation.AnnotationAttributes;
import org.springframework.core.type.AnnotationMetadata;
/**
* @author wayshall
*
*/
public class RestApiClentRegistrar extends AbstractApiClentRegistrar {
protected RestApiClentRegistrar() {
super(EnableRestApiClient.class, RestApiClient.class);
}
@Override
protected BeanDefinitionBuilder createApiClientFactoryBeanBuilder(AnnotationMetadata annotationMetadata, AnnotationAttributes attributes) {
String className = annotationMetadata.getClassName();
BeanDefinitionBuilder definition = BeanDefinitionBuilder.genericBeanDefinition(DefaultApiClientFactoryBean.class);
definition.addPropertyValue("url", resolveUrl(attributes));
definition.addPropertyValue("path", resolvePath(attributes));
// definition.addPropertyValue("name", name);
definition.addPropertyValue("interfaceClass", className);
// definition.addPropertyValue("restExecutor", getRestExecutor());
definition.addPropertyReference("restExecutor", RestExecutorFactory.REST_EXECUTOR_FACTORY_BEAN_NAME);
// definition.addPropertyValue("decode404", attributes.get("decode404"));
// definition.addPropertyValue("fallback", attributes.get("fallback"));
definition.setAutowireMode(AbstractBeanDefinition.AUTOWIRE_BY_TYPE);
return definition;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy