1.使用场景
两个Spring Boot 项目DemoA 和 DemoB。DemoA 需要调用DemoB提供的接口,并且传递数据,接收dmeoB的返回数据。
2. Demo B
1.添加依赖
<properties>
<alibaba.fastjson.version>1.2.75</alibaba.fastjson.version>
<projecglombok.version>1.18.18</projecglombok.version>
</properties>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${alibaba.fastjson.version}</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${projecglombok.version}</version>
</dependency>
2. 配置文件application.properties
server.port=8010
3. request 请求实体类
import lombok.Data;
@Data
public class StudentRequest {
private String name;
private Integer age;
private String attachmentFolder;
private String attachmentName;
private byte[] attachment;
}
4. response 响应实体类
import lombok.Data;
@Data
public class StudentResponse {
private String result;
private String message;
}
5. 这个demo也写到了传递文件,这儿记录一个文件工具类
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class FileUtil {
private static Logger logger = LoggerFactory.getLogger(FileUtil.class);
public static void saveFile(byte[] bfile, String filePath, String fileName) {
BufferedOutputStream bos = null;
FileOutputStream fos = null;
File file = null;
try {
File dir = new File(filePath);
if (!dir.exists()) {// 判断文件目录是否存在
dir.mkdirs();
}
file = new File(filePath + fileName);
fos = new FileOutputStream(file);
bos = new BufferedOutputStream(fos);
bos.write(bfile);
} catch (Exception e) {
logger.error(e.getMessage(), e);
} finally {
if (bos != null) {
try {
bos.close();
} catch (IOException e1) {
logger.error(e1.getMessage(), e1);
}
}
if (fos != null) {
try {
fos.close();
} catch (IOException e1) {
logger.error(e1.getMessage(), e1);
}
}
}
}
}
6. controller 服务提供
import java.