【发布时间】:2016-09-18 05:20:09
【问题描述】:
这可能是一个愚蠢的问题,但我自己想不出一个可能的解决方案。 基本上我正在尝试使用 Spring MVC 和 Yahoo Finance API 创建一个简单的 Java Web 应用程序。 我的目标是创建一个简单的表格,我可以在其中插入特定股票的代码(例如:INTC(英特尔公司))并获取其“股息”、“价格”、“报价”等。
我的 addStock.jsp:
<form:form method="POST" modelAttribute="stock">
<label>Symbol:</label>
<form:input path="symbol" />
<input type="submit" />
</form:form>
AddStock.java 的一部分:
@RequestMapping(method = RequestMethod.GET, params="new")
public String createForm(Model model) {
Stock stock = new Stock();
model.addAttribute("stock", stock);
return "addStock";
}
@RequestMapping(method = RequestMethod.POST)
public String add(Stock stock, BindingResult result, Model model) throws IOException {
String name = "";
BigDecimal price = new BigDecimal("0.00");
BigDecimal change = new BigDecimal("0.00");
BigDecimal peg = new BigDecimal("0.00");
BigDecimal dividend = new BigDecimal("0.00");
BigDecimal bookValuePerShare = new BigDecimal("0.00");
if(!result.hasErrors()){
yahooFinService.addStock(stock);
if (YahooFinance.get(stock.getSymbol()).getQuote().getPrice() != null) {
symbol = stock.getSymbol();
name = YahooFinance.get(stock.getSymbol()).getName();
price = YahooFinance.get(stock.getSymbol()).getQuote().getPrice();
change = YahooFinance.get(stock.getSymbol()).getQuote().getChangeInPercent();
peg = YahooFinance.get(stock.getSymbol()).getStats().getPeg();
dividend = YahooFinance.get(stock.getSymbol()).getDividend().getAnnualYieldPercent();
bookValuePerShare = YahooFinance.get(stock.getSymbol()).getStats().getBookValuePerShare();
}
model.addAttribute("symbol", symbol);
model.addAttribute("name", name);
model.addAttribute("price", price);
model.addAttribute("change", change);
model.addAttribute("peg", peg);
model.addAttribute("dividend", dividend);
model.addAttribute("bookValuePerShare", bookValuePerShare);
YahooFinance.get(stock.getSymbol()).print();
}
return "result";
}
当我创建空构造函数“Stock”时,我的“问题”就出现了。 Yahoo Finance 不提供空的构造函数,而只是:
public Stock(String symbol) {
this.symbol = symbol;
}
我该怎么办??当然,当我创建一个新 bean、从 API 复制整个代码、添加空构造函数并导入(我提供的代码)时,一切都正常工作,但我认为这不是使用 API 的正确方法,甚至如果它是“合法的”。 我想创建一个新的 java 类,它将扩展来自 Yahoo Finance API 的类,但它也不允许添加一个空的构造函数。
我知道我的问题更多是关于“java 知识”,但如果有人可以帮助我,那就太好了。我希望我已经正确解释了我的问题。干杯
【问题讨论】:
标签: java spring maven yahoo-finance