如何在下一个js中使用API路由?

How to use API Route in next js?

我正在学习如何设计 api 以及如何使用 next js api 路由。 我已经设置了我的第一条路线 api/property/[属性Id] returns 具体 属性 详细信息

现在我正在尝试为页面文件夹 page/property/[属性Id] 中的特定 属性 id 设置动态路由。我的问题是,当我在特定页面上获得指示时,数据并不像预期的那样存在。我收到错误消息的响应。 有人可以指出我做错了什么吗? 谢谢

pages>api>property>[propertyId]

export default function propertyHandler ({query : {propertyId} } ,res) {
    var parser = new xml2js.Parser({explicitArray : false});
    const data = fs.readFileSync(path.join(process.cwd(),'listing.xml'))
    parser.parseString(data,function (err, results){
    results = results.client.secondhandListing.property

    const filteredProp = results.filter((property) => property.id === propertyId)
    filteredProp.length > 0 ?  res.status(200).json(filteredProp[0]) : res.status(404).json({message: `Property with id: ${propertyId} not found.` })
     })
    
}

pages>property>[id].js
 
export const getDetails = async() => {
      const res = await fetch(`${baseUrl}/api/property/[property.Id]}`)
      const data = res.json()

      return data
  }

export async function getServerSideProps({params: { id } }) {
    const data = await getDetails(`${baseUrl}/api/property/${id}`)

    return {
        props: {
            propertyDetails: data
        }
    }
}

我从其他地方得到了我的错误的答案。是我的 getdetails 函数出错了。 我已经修改为

export const getDetails = async(baseUrl)=>{
    const res = await fetch(baseUrl)
    const data  = await res.json()
    return data
    
};

它奏效了。希望这对某人有帮助:)