在 AWS Amplify REST 中使用路径参数 API (Javascript)

Use Path Parameters in AWS Amplify REST API (Javascript)

我需要使用路径参数调用端点,例如 /user/{id} 我无法在 Amplify 的文档中找到类似的内容,但我找到了这个 issue.

似乎该功能已于 2 月 21 日合并,但我看到一个“待审核”标签,所以我不知道该功能是否可用。

欢迎任何帮助。 谢谢大家

如果您使用 Amplify 为 API 设置了一个 lambda 函数,您可以为 get 执行以下操作。

本地

try {
    const { user, error } = await API.get(
      API_NAME,
      `/user-details?name=${ name }&email=${ email }&number=${ userNumber }`
    )
    if ( error ) return { dbError: error }
    else return { user: user }
  } catch( error ) { return { dbError: error } }

Lambda

/**
 * Get a specific user's details.
 */
app.get( `/user-details`, async ( request, response ) => {
  const params = request.query
  ...
  response.json( { statusCode: 200, user: DATA_RETRIEVED } )
}

您也可以使用类似的方法发帖。

本地

try {
  const { tos, error } = await API.post(
    API_NAME,
    `/tos`,
    { body: {
      name: user.name.replace( ` `, `\ ` ),
      email: user.email,
      number: user.userNumber,
      version: version.toISOString()
    } }
  )
  if ( error ) console.log( `error`, error )
  return { user: user }
} catch( error ) console.log( `errored`, error )

Lambda

/**
 * Adds a terms of service to a user.
 */
app.post( `/tos`, async ( request, response ) => {
  const params = request.body
  ...
  response.json( { statusCode: 200, tos: DATA_RETRIEVED } )
}