spring cloud 躺坑记录
最近研究spring cloud ,根据网上的资料搭建了一个项目框架,其中遇到了两个问题,纠结了两天正当一筹莫展之际,一不小心就解决了,顺手记下:
先看下项目结构:
项目包含了7个模块
smile-base:项目基础公共服务
smile-cms:服务调用者。
smile-cms-api:供smile-cms和smile-cms-provider实现。
smile-cms-provider:服务提供者。
smile-common :项目公共jar包,供smile-cms-api和其他模块使用。
smile-server:eureka服务端
smile-zuul:微服务网关
遇到问题:
1、在用maven打包的时候 smile-common,smile-cms-api要去掉spring boot 默认的打包插件,要不然打成的jar包入下图所示,会有一个BOOT-INF的鬼东西
2、在进行微服务设计的时候参考了网上大神Spring Cloud实战小贴士:Feign的继承特性(伪RPC模式)的文章
可是在进行smile-cms调用smile-cms-provider的时候参数始终传递不到smile-cms-provider层(我用的是path路径传参数,smile-cms可以加接收到)
后来发现是在controller层的方法参数前也要添加@PathVariable,只在接口上添加时不行的,现在贴上代码
1、smile-cms-api 定义接口
package com.zing.cms.api.service;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework