在 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 } )
}
我需要使用路径参数调用端点,例如 /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 } )
}