मैं चाहता था कि लंबोदर से एक त्रुटि 500 त्रुटि हो, बहुत शोध करने के बाद, नीचे आया, वह काम करता है:
LAMBDA पर
एक अच्छी प्रतिक्रिया के लिए, मैं नीचे के रूप में लौट रहा हूं:
exports.handler = (event, context, callback) => {
// ..
var someData1 = {
data: {
httpStatusCode: 200,
details: [
{
prodId: "123",
prodName: "Product 1"
},
{
"more": "213",
"moreDetails": "Product 2"
}
]
}
};
return callback(null, someData1);
}
एक खराब प्रतिक्रिया के लिए, नीचे के रूप में लौट रहा है
exports.handler = (event, context, callback) => {
// ..
var someError1 = {
error: {
httpStatusCode: 500,
details: [
{
code: "ProductNotFound",
message: "Product not found in Cart",
description: "Product should be present after checkout, but not found in Cart",
source: "/data/attributes/product"
},
{
code: "PasswordConfirmPasswordDoesntMatch",
message: "Password and password confirmation do not match.",
description: "Password and password confirmation must match for registration to succeed.",
source: "/data/attributes/password",
}
]
}
};
return callback(new Error(JSON.stringify(someError1)));
}
एपीआई गेटवे पर
GET METHOD के लिए, GET of / res1 / service1 कहें:
Through Method Response > Add Response, added 3 responses:
- 200
- 300
- 400
फिर,
Through 'Integration Response' > 'Add integration response', create a Regex for 400 errors (client error):
Lambda Error Regex .*"httpStatusCode":.*4.*
'Body Mapping Templates' > Add mapping template as:
Content-Type application/json
Template text box* $input.path('$.errorMessage')
Similarly, create a Regex for 500 errors (server error):
Lambda Error Regex .*"httpStatusCode":.*5.*
'Body Mapping Templates' > Add mapping template as:
Content-Type application/json
Template text box* $input.path('$.errorMessage')
अब, प्रकाशित / res1 / service1, प्रकाशित URL को हिट करें, जो कि लैम्बडा से ऊपर जुड़ा हुआ है
उन्नत REST क्लाइंट (या पोस्टमैन) क्रोम प्लगइन का इस्तेमाल किया, आपको "httpStatusCode" में दिए गए सभी अनुरोधों के लिए 200 http प्रतिक्रिया कोड के बजाय सर्वर त्रुटि (500) या 400 जैसे उचित http कोड दिखाई देंगे।
एपीआई गेटवे में एपीआई के 'डैशबोर्ड' से, हम नीचे की तरह http स्थिति कोड देख सकते हैं: