每个接口都这么写吗 restTemplate.getForObject("http://hello-service/world", String.class);
时间: 2024-02-01 22:02:38 浏览: 117
在实际的企业开发中,通常会将 RestTemplate 封装为一个统一的调用接口,而不是在每个接口中都写一遍。这样可以提高代码的复用性和可维护性。
例如,可以定义一个统一的 RestTemplate 封装类,提供 get、post 等方法,统一处理服务地址、请求参数、请求头等信息。示例代码如下:
```
@Component
public class RestTemplateUtil {
@Autowired
private RestTemplate restTemplate;
public <T> T get(String url, Class<T> responseType, Object... uriVariables) {
// 统一处理服务地址、请求参数、请求头等信息
return restTemplate.getForObject(url, responseType, uriVariables);
}
public <T> T post(String url, Object request, Class<T> responseType, Object... uriVariables) {
// 统一处理服务地址、请求参数、请求头等信息
return restTemplate.postForObject(url, request, responseType, uriVariables);
}
// 其它方法同理
}
```
在调用接口中,只需要注入 RestTemplateUtil,然后调用相应的方法即可。例如:
```
@Service
public class HelloService {
@Autowired
private RestTemplateUtil restTemplateUtil;
public String hello() {
return restTemplateUtil.get("http://hello-service/world", String.class);
}
}
```
这样就可以避免在每个接口中都写一遍 RestTemplate 的调用代码,提高了代码的复用性和可维护性。
阅读全文