我有一个简单的问题-SpringBootApplication没有看到我的控制器-更奇怪的是-只有三个。
我有UserController,WalletController和DashboardController-这对于我的应用程序不可见。
我已经做的是:
这是我的控制器,它是不可见的:DashboardController
这是我的包结构(似乎正确):包结构
谢谢你的帮助!
编辑:
使用第三方api获取所需的数据可能很重要
在那种方法中,我使用url:
private String getNbpJson(String url) {
return new RestTemplate().getForObject(url, String.class);
}
private CurrentRateDTO getCurrentExchangeRate(String json) throws JsonProcessingException {
ObjectMapper mapper = new ObjectMapper();
JsonNode node = mapper.readTree(json);
String code = node.get("code").toString();
String date = node.get("rates").get(0).get("effectiveDate").toString();
double bid = node.get("rates").get(0).get("bid").asDouble();
double ask = node.get("rates").get(0).get("ask").asDouble();
return new CurrentRateDTO(code, date, bid, ask);
}
然后在ExchangeService中,这是我的网址
@Service
public class ExchangeRateService implements IExchangeRateService {
private static final Logger logger = LoggerFactory.getLogger(ExchangeRateService.class);
private String NBP_CURRENT_RATE_URL = "http://api.nbp.pl/api/exchangerates/rates/c/eur/2020-12-11/?format=json";
还有什么...当我将方法从DashboardController移到WalletController时(有效)
我发现的另一件事是,仅使用第三方api的方法不起作用。基本上,我从上面的URL检索数据-我得到了特定的字段,创建了一个具有填充字段的对象。
从第三方检索数据然后在我的应用程序中实现它可能会出现问题吗?
我暂时没有其他想法了。
也许您的控制器已注册,但您键入的网址略有不同。试试这个属性logging.level.org.springframework.web.servlet.mvc.method.annotation: TRACE
并检查应用程序启动是否在其他URL下注册了控制器。
尝试将其添加到您的控制器
@RestController()
@RequestMapping("exchangerates")
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句