You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于React在JavaScript中调用Java方法实现交易所资产价格展示咨询

解决方案
  • 后端Java侧调整
    不需要修改你现有的Map存储结构,只需要暴露一个HTTP接口,将存储价格数据的Map作为接口返回值即可。如果是SpringBoot项目直接给接口所在类加@RestController注解,框架会自动把Map序列化为前端可识别的JSON格式,最终返回给前端的数据结构参考如下:
{
  "Coinbase": {
    "btcBuy": "43210.2",
    "btcSell": "43205.8",
    "ethBuy": "2263.5",
    "ethSell": "2262.1"
  },
  "Binance": {
    "btcBuy": "43208.7",
    "btcSell": "43204.2",
    "ethBuy": "2262.9",
    "ethSell": "2261.7"
  }
}
  • 前端JS逻辑实现
    在页面加载或者定时刷新的逻辑里调用后端接口拿数据,再把对应字段赋值给Exchange组件的属性即可,示例代码如下(React环境为例):
import { useEffect, useState } from 'react'

function Middle() {
  // 定义存储价格数据的状态
  const [priceData, setPriceData] = useState({})

  // 页面加载时调用后端接口拉取数据
  useEffect(() => {
    const fetchPrice = async () => {
      const res = await fetch('你的后端接口地址')
      const data = await res.json()
      setPriceData(data)
      // 如果需要定时刷新价格,可以在这里加setInterval定时调用fetchPrice
    }
    fetchPrice()
  }, [])

  return (
    <div className='Middle'>
      <Exchange 
        name="Coinbase" 
        btcBuy={priceData?.Coinbase?.btcBuy || ''} 
        btcSell={priceData?.Coinbase?.btcSell || ''} 
        ethBuy={priceData?.Coinbase?.ethBuy || ''} 
        ethSell={priceData?.Coinbase?.ethSell || ''}
      />
      <Exchange 
        name="Binance" 
        btcBuy={priceData?.Binance?.btcBuy || ''} 
        btcSell={priceData?.Binance?.btcSell || ''} 
        ethBuy={priceData?.Binance?.ethBuy || ''} 
        ethSell={priceData?.Binance?.ethSell || ''}
      />
      <Recommendations/>
    </div>
  )
}
  • 额外注意事项
    如果需要更高的实时性,可以把HTTP轮询换成WebSocket协议,Java侧加WebSocket支持主动推价格变化给前端,不需要前端定时拉取。

内容的提问来源于stack exchange,提问作者vynabhnnqwxleicntw

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 09:39:01