springcloud微服务实践:天气数据API微服务的实现

本文详细介绍了如何从原有的micro-weather-report应用中拆分出一个新的微服务msa-weather-data-server,该服务专注于从Redis缓存中获取天气数据并提供查询接口。主要改动包括删除不必要的同步天气业务、调整控制层代码、精简配置和值对象,并对异常处理进行了优化。测试运行时,当Redis中无数据时返回错误信息,否则返回天气预报数据。
摘要由CSDN通过智能技术生成

天气数据API 微服务的实现

天气数据API微服务包含了天气数据查询组件。天气数据查询组件提供了天气数据查询的接口。

我们的数据已经通过天气数据采集微服务集成到了Redis 存储中,天气数据API微服务只需要从Redis获取数据,而后从接口中暴露出去即可。

在micro-weather-report应用的基础上,我们将对其进行逐步的拆分,形成一个新的微服务msa-weather-data-server应用。

所需环境

为了演示本例子,需要采用如下开发环境。

  • JDK 8。
  • Gradle 4.0。
  • Spring Boot Web Starter 2.0.0.M4。
  • Spring Boot Data Redis Starter 2.0.0.M4。
  • Redis 3.2.100。

修改天气数据服务接口及实现

在com.waylau.spring.cloud. weather.service包下,我们之前已经定义了该应用的天气数据服务接口WeatherDataService。

public interface WeatherDataService {
*★
*根据城市ID查询天气数据
@param cityId
@return 
WeatherResponse getDataByCityId(String cityId);
/**
★根据城市名称查询天气数据
* @param cityId
* Creturn
*/
Wea therResponse getDataByCityName (String cityName) ;
}

对于该微服务而言,我们并不需要同步天气的业务需求,所以把之前定义的syncDataByCityId方法删除了。

WeatherDataServicelmpl是对WeatherDataService 接口的实现,也要做出相应的调整,将同步天气的代码逻辑都删除,保留以下代码。

package com. way1au . spr ing.cloud.weather .service;
import java. io. IOException;
import org.slf4j . Logger;
import org.slf4j. LoggerFactory;
import org.springf ramework. beans. factory . annotation.Autowired;
import org. springfr amework. data. redis. core. StringRedisTemplate;
import or
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值