zoukankan      html  css  js  c++  java
  • feign client 的简单使用(1)

    依赖:

    <properties>
    <java.version>1.8</java.version>
    <feign-core.version>10.2.0</feign-core.version>
    <feign-form.version>2.1.0</feign-form.version>
    </properties>



    <dependency> <groupId>io.github.openfeign</groupId> <artifactId>feign-core</artifactId> <version>${feign-core.version}</version> </dependency> <dependency> <groupId>io.github.openfeign</groupId> <artifactId>feign-jackson</artifactId> <version>${feign-core.version}</version> </dependency> <dependency> <groupId>io.github.openfeign.form</groupId> <artifactId>feign-form</artifactId> <version>${feign-form.version}</version> </dependency> <dependency> <groupId>io.github.openfeign.form</groupId> <artifactId>feign-form-spring</artifactId> <version>${feign-form.version}</version> </dependency>

    或者直接使用依赖:

    <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-openfeign</artifactId>
            </dependency>

    配置:

    @Configuration
    @ComponentScan(basePackages = "com.icil.elsa.subscribe.milestone.command.web.job")
    public class XxlJobConfig {
    
    /*    @Autowired
        private ObjectFactory<HttpMessageConverters> messageConverters*/;
    
        private Logger logger = LoggerFactory.getLogger(XxlJobConfig.class);
    
        @Value("${xxl.job.admin.addresses}")
        private String adminAddresses;// http:127.0.0.1:8888
    //define feign client
        @Bean
        public XxService xxService() {
            return Feign.builder()
                   // .encoder(new FormEncoder(new JacksonEncoder()))   //如果有表单提交,加上表单编解码
                   // .decoder(new JacksonDecoder())            //
                    .target(XxlJobService.class, adminAddresses);
        }
    }

    XxService:
    import com.alibaba.fastjson.JSONObject;
    import feign.Headers;
    import feign.Param;
    import feign.RequestLine;
    
    import java.util.Map;
    
    public interface XxlJobService {
    
        @RequestLine("GET /ufl-job-admin/jobinfo/pageList?jobGroup={jobGroup}")
        JSONObject pageList(@Param(value = "jobGroup") int jobGroup);
    
        @RequestLine("POST /ufl-job-admin/jobinfo/add")
        @Headers("Content-Type: application/x-www-form-urlencoded")
        JSONObject add(Map<String, ?> form);
    
        @RequestLine("GET /ufl-job-admin/jobinfo/start?id={id}")
        JSONObject start(@Param(value = "id") int id);
    
        @RequestLine("GET /ufl-job-admin/jobinfo/stop?id={id}")
        JSONObject stop(@Param(value = "id") int id);
    }
     
  • 相关阅读:
    养生与健康
    vue + elementui 使用多选按钮实现单选功能
    生活小方
    和业务相关的工具函数
    vue + element ui开发过程中需要注意的几个点
    【转】webpack中关于source map的配置
    【转】移动前端手机输入法自带emoji表情字符处理
    webpack相关
    vue项目优化
    运维集群架构演变之美 【转】
  • 原文地址:https://www.cnblogs.com/lshan/p/10669068.html
Copyright © 2011-2022 走看看