CommonResponseFormate.java
1.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package com.idss.vulsync.config;
import cloud.agileframework.mvc.base.AbstractResponseFormat;
import cloud.agileframework.mvc.base.Head;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.type.TypeFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* @Author: zc
* @Date: 2024/8/20 16:41
*/
@Component
public class CommonResponseFormate extends AbstractResponseFormat {
@Autowired
ObjectMapper objectMapper;
@Override
public Map<String, Object> buildResponseData(Head head, Object result) {
//head为组件整理后的响应头部信息
//result为响应体信息
//自行定制返回结果状态为Map格式返回,该Map将作为ModelAndView中的Model组装成视图写入response
LinkedHashMap<String, Object> map = new LinkedHashMap<>();
try {
map = objectMapper.readValue(objectMapper.writeValueAsString(result), TypeFactory.defaultInstance().constructMapType(LinkedHashMap.class, String.class, Object.class));
return map;
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return map;
}
}