{"id":31617,"date":"2025-12-09T15:59:59","date_gmt":"2025-12-09T15:59:59","guid":{"rendered":"https:\/\/www.dotcom-monitor.com\/blog\/web-api-sample-endpoints-to-practice-monitoring-testing\/"},"modified":"2026-05-23T00:30:35","modified_gmt":"2026-05-23T00:30:35","slug":"web-api-sample-endpoints-to-practice-monitoring-testing","status":"publish","type":"post","link":"https:\/\/www.dotcom-monitor.com\/blog\/zh-hans\/web-api-sample-endpoints-to-practice-monitoring-testing\/","title":{"rendered":"\u7528\u4e8e\u7ec3\u4e60\u76d1\u63a7\u4e0e\u6d4b\u8bd5\u7684 Web API \u793a\u4f8b\u7aef\u70b9"},"content":{"rendered":"
API \u5f88\u5c11\u4f1a\u5b64\u7acb\u5931\u8d25\u3002\u5b83\u4eec\u4f1a\u5728\u8d1f\u8f7d\u4e0b\u5931\u8d25\u3001\u5728\u4ee4\u724c\u5237\u65b0\u671f\u95f4\u5931\u8d25\u3001\u5f53\u4f9d\u8d56\u670d\u52a1\u53d8\u6162\u65f6\u5931\u8d25\uff0c\u6216\u8005\u5f53\u591a\u6b65\u9aa4\u5de5\u4f5c\u6d41\u5728\u534a\u9014\u4e2d\u65ad\u65f6\u5931\u8d25\u3002\u7136\u800c\u591a\u6570\u5de5\u7a0b\u5e08\u4ecd\u7136\u4f7f\u7528\u4e0e\u771f\u5b9e\u60c5\u51b5\u5b8c\u5168\u4e0d\u540c\u7684 \u6a21\u62df\u7aef\u70b9\uff08mock endpoints\uff09<\/b> \u6765\u6d4b\u8bd5\u548c\u76d1\u63a7 API\u3002<\/p>\n
\u5982\u679c\u4f60\u5728 DevOps\u3001QA\u3001SRE \u6216 API \u5de5\u7a0b\u9886\u57df\u5de5\u4f5c\uff0c\u4f60\u4f1a\u77e5\u9053\u4e8b\u5b9e\uff1a\u8981\u6b63\u786e\u8bc4\u4f30 API \u76d1\u63a7\u8bbe\u7f6e\uff0c\u4f60\u9700\u8981 \u771f\u5b9e\u7684 Web API \u793a\u4f8b\u7aef\u70b9<\/b>\uff0c\u80fd\u591f\u8fd4\u56de\u771f\u5b9e JSON\u3001\u6a21\u62df\u5ef6\u8fdf\u3001\u8981\u6c42\u8ba4\u8bc1\u5e76\u89e6\u53d1\u771f\u5b9e\u9519\u8bef\u72b6\u6001\u7684\u90a3\u7c7b\u7aef\u70b9\u3002<\/p>\n
\u95ee\u9898\u662f\u4ec0\u4e48\uff1f<\/p>\n
\u5728\u7ebf\u4e0a\u5f88\u591a\u201c\u7528\u4e8e\u6d4b\u8bd5\u7684\u793a\u4f8b API\u201d\u53ea\u63d0\u4f9b\u9759\u6001\u6570\u636e\u3001\u8fc7\u4e8e\u7b80\u5355\u7684 JSON\uff0c\u6216\u53ea\u6709\u5355\u4e00\u4e14\u6ca1\u6709\u53d8\u5316\u7684\u6a21\u62df\u7aef\u70b9\u3002\u5b83\u4eec\u5bf9\u5165\u95e8\u8005\u5f88\u53cb\u597d\uff0c\u4f46\u5728\u9a8c\u8bc1\u4ee5\u4e0b\u5185\u5bb9\u65f6\u51e0\u4e4e\u65e0\u7528\uff1a<\/p>\n
\u8fd9\u6b63\u662f\u672c\u6307\u5357\u8981\u89e3\u51b3\u7684\u5185\u5bb9\u3002<\/p>\n
\u5728\u63a5\u4e0b\u6765\u7684\u7ae0\u8282\u4e2d\uff0c\u4f60\u5c06\u5f97\u5230\u4e13\u4e3a\u5e2e\u52a9\u56e2\u961f \u7ec3\u4e60\u76d1\u63a7<\/b>\u3001\u6d4b\u8bd5\u8fb9\u7f18\u60c5\u51b5\u3001\u6a21\u62df\u6545\u969c\u5e76\u8bc4\u4f30\u50cf Dotcom-Monitor \u8fd9\u6837\u7684\u5de5\u5177\u5982\u4f55\u5904\u7406\u771f\u5b9e\u4e16\u754c API \u884c\u4e3a\u800c\u8bbe\u8ba1\u7684 \u751f\u4ea7\u7ea7 Web API \u793a\u4f8b\u7aef\u70b9<\/b>\u3002\u8fd9\u4e9b\u7aef\u70b9\u4e0d\u4ec5\u4ec5\u662f \u201chello world\u201d \u6f14\u793a\u2014\u2014\u5b83\u4eec\u88ab\u8bbe\u8ba1\u6210\u4f1a\u5d29\u6e83\u3001\u53d8\u6162\u3001\u8fd4\u56de\u7ed3\u6784\u5316\u9519\u8bef\uff0c\u5e76\u6a21\u62df\u90a3\u4e9b\u80fd\u66dd\u5149\u4f60\u76d1\u63a7\u7cfb\u7edf\u662f\u5426\u771f\u6b63\u53ef\u9760\u7684\u6761\u4ef6\u3002<\/p>\n
\u5230\u6700\u540e\uff0c\u4f60\u4f1a\u786e\u5207\u5730\u7406\u89e3\u8981\u6d4b\u8bd5\u4ec0\u4e48\u3001\u5982\u4f55\u6784\u5efa\u76d1\u63a7\u7b56\u7565\uff0c\u4ee5\u53ca\u8fd9\u4e9b\u793a\u4f8b\u7aef\u70b9\u5982\u4f55\u6620\u5c04\u5230\u4f60\u56e2\u961f\u6bcf\u5468\u9047\u5230\u7684\u771f\u5b9e\u4e2d\u65ad\u573a\u666f\u3002<\/p>\n
\u5982\u9700\u66f4\u5168\u9762\u7684\u7406\u89e3\uff0c\u4f60\u4e5f\u53ef\u4ee5\u67e5\u770b\u6211\u4eec\u7684\u6307\u5357\uff1aWeb API \u76d1\u63a7\u5230\u5e95\u6d89\u53ca\u4ec0\u4e48<\/a><\/p>\n<\/div>\n \u5927\u591a\u6570\u56e2\u961f\u5728\u751f\u4ea7\u73af\u5883\u51fa\u73b0\u95ee\u9898\u4e4b\u524d\u5e76\u4e0d\u4f1a\u53d1\u73b0\u76d1\u63a7\u4e2d\u7684\u7f3a\u9677\u3002\u800c\u95ee\u9898\u51e0\u4e4e\u4ece\u6765\u4e0d\u662f\u56e0\u4e3a\u7aef\u70b9\u53ea\u662f\u201c\u8fd4\u56de\u4e86\u9519\u8bef\u7684 JSON\u201d\u3002\u5931\u8d25\u6765\u81ea\u4e8e\u6a21\u62df API \u65e0\u6cd5\u91cd\u73b0\u7684\u90a3\u4e9b\u60c5\u51b5\uff1a\u7f13\u6162\u7684\u4f9d\u8d56\u3001\u8ba4\u8bc1\u8d85\u65f6\u3001\u94fe\u5f0f\u5de5\u4f5c\u6d41\u5931\u8d25\uff0c\u6216\u4ec5\u5728\u771f\u5b9e\u8d1f\u8f7d\u4e0b\u51fa\u73b0\u7684\u610f\u5916 500 \u9519\u8bef\u3002<\/p>\n \u56e0\u6b64\uff0c\u4ec5\u4f9d\u8d56\u6a21\u62df API \u6765\u6d4b\u8bd5\u76d1\u63a7\u662f\u6709\u98ce\u9669\u7684\uff1a\u5b83\u4eec\u8868\u73b0\u5f97\u592a\u5b8c\u7f8e\u3002<\/p>\n \u5177\u6709\u53ef\u53d8\u54cd\u5e94\u3001\u80fd\u6a21\u62df\u6545\u969c\u5e76\u5305\u542b\u8ba4\u8bc1\u7684\u771f\u5b9e Web API \u793a\u4f8b\u7aef\u70b9\uff0c\u4e3a\u56e2\u961f\u63d0\u4f9b\u4e86\u4e00\u4e2a\u66f4\u51c6\u786e\u7684\u73af\u5883\uff0c\u4ee5\u9a8c\u8bc1\u5b83\u4eec\u7684\u76d1\u63a7\u5de5\u5177\u5728\u538b\u529b\u4e0b\u7684\u884c\u4e3a\u3002\u8fd9\u5f88\u91cd\u8981\uff0c\u56e0\u4e3a\u76d1\u63a7\u662f\u5728 \u6a21\u5f0f<\/i> \u4e0b\u51fa\u95ee\u9898\uff0c\u800c\u4e0d\u662f\u5076\u53d1\u9519\u8bef\uff1a<\/p>\n \u8fd9\u6b63\u662f Dotcom-Monitor \u7684 Web API \u76d1\u63a7\u5e73\u53f0<\/a> \u5305\u542b\u5bf9 \u591a\u6b65\u9aa4 API \u5de5\u4f5c\u6d41<\/b>\u3001\u94fe\u5f0f\u4efb\u52a1\u548c\u6821\u9a8c\u903b\u8f91\u652f\u6301\u7684\u539f\u56e0\uff0c\u56e0\u4e3a\u771f\u5b9e\u7684 API \u884c\u4e3a\u662f\u6709\u4f9d\u8d56\u6027\u7684\u3001\u987a\u5e8f\u6027\u7684\u5e76\u4e14\u5e38\u5e38\u6df7\u4e71\u3002\u5728\u8bb8\u591a\u60c5\u51b5\u4e0b\uff0c\u95ee\u9898\u5e76\u4e0d\u4f1a\u5728\u7b2c\u4e00\u6b65\u663e\u73b0\uff0c\u800c\u5927\u591a\u6570\u6a21\u62df API \u53ea\u5141\u8bb8\u6d4b\u8bd5\u7b2c\u4e00\u6b65\u3002<\/p>\n \u901a\u8fc7\u771f\u5b9e\u7684\u793a\u4f8b\u7aef\u70b9\uff0c\u56e2\u961f\u7ec8\u4e8e\u53ef\u4ee5\u9a8c\u8bc1\uff1a<\/p>\n \u8fd9\u662f\u53ef\u9760 API \u76d1\u63a7\u7684\u57fa\u7840\uff1a\u4e0d\u662f\u7eff\u8272\u7684\u4eea\u8868\u76d8\uff0c\u800c\u662f \u51c6\u786e\u7684\u4eea\u8868\u76d8<\/i>\u3002\u800c\u8981\u83b7\u5f97\u51c6\u786e\u6027\uff0c\u53ea\u6709\u5f53\u4f60\u7684\u6d4b\u8bd5\u73af\u5883\u50cf\u73b0\u5b9e\u4e16\u754c\u90a3\u6837\u8fd0\u884c\u65f6\u624d\u53ef\u80fd\u505a\u5230\u3002<\/p>\n \u4e0b\u9762\u7684\u793a\u4f8b\u7aef\u70b9\u5e76\u975e\u4e3a \u201chello world\u201d \u6f14\u793a\u800c\u8bbe\u8ba1\u3002\u5b83\u4eec\u88ab\u7cbe\u5fc3\u6784\u5efa\u4ee5\u8868\u73b0\u5f97\u50cf\u771f\u5b9e\u751f\u4ea7 API\uff1a\u6709\u65f6\u5feb\u901f\uff0c\u6709\u65f6\u7f13\u6162\uff0c\u6709\u65f6\u4f1a\u8fd4\u56de\u9519\u8bef\uff0c\u4ee5\u4fbf\u4f60\u53ef\u4ee5\u9a8c\u8bc1\u4f60\u7684\u76d1\u63a7\u7cfb\u7edf\u5728\u5206\u5e03\u5f0f\u7cfb\u7edf\u4e0d\u53ef\u9884\u6d4b\u7684\u60c5\u51b5\u4e0b\u5982\u4f55\u54cd\u5e94\u3002<\/p>\n \u6bcf\u4e2a\u7aef\u70b9\u90fd\u5305\u542b\u5b83\u5e2e\u52a9\u6d4b\u8bd5\u7684\u76d1\u63a7\u884c\u4e3a\u7c7b\u578b\uff0c\u4ee5\u53ca\u4f60\u5e94\u8be5\u671f\u671b\u53d1\u73b0\u7684\u6545\u969c\u7c7b\u578b\u3002<\/p>\n \u7528\u4e8e\u53ef\u7528\u6027\u68c0\u67e5\u548c\u5feb\u901f\u544a\u8b66\u7684\u6700\u5c0f\u7aef\u70b9\u3002<\/p>\n \u793a\u4f8b\u54cd\u5e94\uff1a<\/b><\/p>\n \u9002\u7528\u4e8e\u6d4b\u8bd5\uff1a<\/b><\/p>\n \u6b64\u7aef\u70b9 \u4e0d\u5e94<\/b> \u53d1\u751f\u5b95\u673a\uff0c\u6240\u4ee5\u5982\u679c\u76d1\u63a7\u6355\u83b7\u5230\u95f4\u6b47\u6027\u5931\u8d25\u6216\u54cd\u5e94\u65f6\u95f4\u5347\u9ad8\uff0c\u4f60\u5c31\u77e5\u9053\u57fa\u7840\u8bbe\u65bd\u6216\u4e0a\u6e38\u63d0\u4f9b\u5546\u51fa\u73b0\u4e86\u66f4\u6df1\u5c42\u6b21\u7684\u95ee\u9898\u3002<\/p>\n \u8fd4\u56de\u73b0\u5b9e\u7684 JSON\uff0c\u5141\u8bb8\u4f60\u6d4b\u8bd5\u5185\u5bb9\u6821\u9a8c\u3001\u8f7d\u8377\u5b8c\u6574\u6027\u548c\u6a21\u5f0f\u68c0\u67e5\u3002<\/p>\n \u793a\u4f8b\u54cd\u5e94\uff1a<\/b><\/p>\n \u9002\u7528\u4e8e\u6d4b\u8bd5\uff1a<\/b><\/p>\n \u6b64\u7aef\u70b9\u975e\u5e38\u9002\u5408\u7ec3\u4e60 \u65ad\u8a00\uff08assertions\uff09<\/b>\uff0c\u4f8b\u5982\u9a8c\u8bc1\u67d0\u5b57\u6bb5\u59cb\u7ec8\u5b58\u5728\u6216\u67d0\u503c\u59cb\u7ec8\u6ee1\u8db3\u5df2\u77e5\u6761\u4ef6\uff0c\u8fd9\u4e9b\u662f Dotcom-Monitor API \u76d1\u63a7\u5f15\u64ce\u7684\u6838\u5fc3\u529f\u80fd\u3002<\/p>\n \u67e5\u770b\u6211\u4eec\u5173\u4e8e\u5982\u4f55 \u914d\u7f6e REST Web API \u4efb\u52a1<\/a> \u7684\u6307\u5357<\/p>\n<\/div>\n \u8be5\u7aef\u70b9\u5728\u8fd4\u56de\u54cd\u5e94\u524d\u4f1a\u6545\u610f\u7b49\u5f85\u3002<\/p>\n \u9002\u7528\u4e8e\u6d4b\u8bd5\uff1a<\/b><\/p>\n \u4f60\u53ef\u4ee5\u589e\u52a0\u6216\u51cf\u5c11\u5ef6\u8fdf\u53c2\u6570\uff0c\u4ee5\u6a21\u62df\u9000\u5316\u7684\u6570\u636e\u5e93\u67e5\u8be2\u3001\u7f51\u7edc\u62e5\u585e\u6216\u8fc7\u8f7d\u7684\u57fa\u7840\u8bbe\u65bd\u3002<\/p>\n \u5728\u8fd9\u91cc\uff0c\u81ea\u5b9a\u4e49\u6307\u6807\u4e5f\u975e\u5e38\u6709\u4ef7\u503c\u3002Dotcom-Monitor \u80fd\u5728 waterfall \u56fe\u8868\u548c\u6027\u80fd\u89c6\u56fe\u4e2d\u5c55\u793a\u5ef6\u8fdf\u5206\u5e03\u3002<\/p>\n \u793a\u4f8b\uff1a<\/p>\n \u9002\u7528\u4e8e\u6d4b\u8bd5\uff1a<\/b><\/p>\n \u9519\u8bef\u6a21\u62df\u7aef\u70b9\u80fd\u63ed\u793a\u544a\u8b66\u7cfb\u7edf\u7684\u771f\u5b9e\u884c\u4e3a\u3002\u4f8b\u5982\uff1a\u4f60\u7684\u76d1\u63a7\u662f\u5426\u5728\u9047\u5230 500 \u65f6\u7acb\u5373\u89e6\u53d1\uff1f\u5b83\u662f\u5426\u4f1a\u5bf9\u9884\u671f\u7684 404 \u54cd\u5e94\u6291\u5236\u566a\u58f0\uff1fDotcom-Monitor \u7684\u201c\u9996\u4e2a\u9519\u8bef\u544a\u8b66\u201d\u6a21\u578b\u6709\u52a9\u4e8e\u5373\u65f6\u6355\u83b7\u5173\u952e\u6545\u969c\u3002<\/p>\n \u4e00\u4e2a\u73b0\u5b9e\u7684\u8ba4\u8bc1\u7aef\u70b9\uff0c\u4f1a\u8fd4\u56de\u77ed\u671f\u6709\u6548\u7684\u4ee4\u724c\u3002<\/p>\n \u793a\u4f8b\u54cd\u5e94\uff1a<\/b><\/p>\n \u9002\u7528\u4e8e\u6d4b\u8bd5\uff1a<\/b><\/p>\n \u73b0\u5b9e\u4e2d\u5927\u591a\u6570 API \u76d1\u63a7\u5931\u8d25\u90fd\u51fa\u73b0\u5728\u6b64\u7c7b\u7aef\u70b9\u4e0a\u3002<\/p>\n \u5982\u679c\u8ba4\u8bc1\u5931\u8d25\uff0c\u6240\u6709\u4e0b\u6e38\u7aef\u70b9\u90fd\u4f1a\u5931\u8d25\u3002\u8fd9\u5c31\u662f\u4e3a\u4ec0\u4e48 Dotcom-Monitor \u652f\u6301\u4e13\u95e8\u7684\u4ee4\u724c\u83b7\u53d6\u4efb\u52a1\u548c\u94fe\u5f0f\u540e\u7eed\u8bf7\u6c42\u3002<\/p>\n \u4e00\u4e2a\u5b8c\u6574\u7684\u4e8b\u52a1\u6d41\uff0c\u6a21\u62df\u771f\u5b9e\u7528\u6237\u7684\u64cd\u4f5c\u5e8f\u5217\u3002<\/p>\n \u793a\u4f8b\u5de5\u4f5c\u6d41\uff1a<\/b><\/p>\n \u9002\u7528\u4e8e\u6d4b\u8bd5\uff1a<\/b><\/p>\n \u5728\u8fd9\u91cc\u76d1\u63a7\u7cfb\u7edf\u80fd\u4f53\u73b0\u5176\u4ef7\u503c\u3002\u5355\u6b65\u7684\u53ef\u7528\u6027\u68c0\u67e5\u65e0\u6cd5\u91cd\u73b0\u771f\u5b9e\u5ba2\u6237\u65c5\u7a0b\u7684\u590d\u6742\u6027\u3002\u5408\u6210\u591a\u6b65\u9aa4\u76d1\u63a7<\/a>\uff08Dotcom-Monitor \u539f\u751f\u652f\u6301\uff09\u786e\u4fdd\u5728\u4e8b\u52a1\u94fe\u4e2d\u95ee\u9898\u5728\u53d1\u751f\u7684\u201c\u65f6\u95f4\u201d\u548c\u201c\u5730\u70b9\u201d\u88ab\u6355\u83b7\u3002<\/p>\n \u4e86\u89e3\u5982\u4f55 \u8bbe\u7f6e\u591a\u6b65\u9aa4 API \u76d1\u63a7<\/a><\/p>\n<\/div>\n \u5bf9\u793a\u4f8b\u7aef\u70b9\u7684\u76d1\u63a7\u5e94\u5c3d\u53ef\u80fd\u63a5\u8fd1\u5bf9\u771f\u5b9e\u751f\u4ea7 API \u7684\u76d1\u63a7\u3002\u8fd9\u610f\u5473\u7740\u8981\u9a8c\u8bc1\u7684\u4e0d\u4ec5\u4ec5\u662f\u53ef\u7528\u6027\uff0c\u800c\u662f\u884c\u4e3a\uff1aAPI \u5728\u5ef6\u8fdf\u4e0b\u5982\u4f55\u54cd\u5e94\u3001\u5982\u4f55\u5904\u7406\u8ba4\u8bc1\u3001\u6570\u636e\u5982\u4f55\u5728\u6b65\u9aa4\u95f4\u6d41\u52a8\uff0c\u4ee5\u53ca\u4f60\u7684\u76d1\u63a7\u5de5\u5177\u662f\u5426\u51c6\u786e\u5730\u89e3\u91ca\u95ee\u9898\u3002<\/p>\n \u4e0b\u9762\u662f\u4e3a DevOps\u3001QA\u3001SRE \u548c API \u5de5\u7a0b\u56e2\u961f\u800c\u8bbe\u8ba1\u7684\u3001\u7528\u4e8e\u76d1\u63a7\u524d\u8ff0\u7aef\u70b9\u7684\u7ed3\u6784\u5316\u65b9\u6cd5\u3002<\/p>\n \u5728\u6df1\u5165\u590d\u6742\u5de5\u4f5c\u6d41\u4e4b\u524d\uff0c\u4f60\u9700\u8981\u5bf9\u57fa\u7840\u6307\u6807\u6709\u4fe1\u5fc3\u3002 \u8fd9\u4e9b\u68c0\u6d4b\u6784\u6210\u4e86\u76d1\u63a7\u7684\u9aa8\u5e72\uff0c\u56e0\u4e3a\u5b83\u4eec\u80fd\u6355\u83b7\u9000\u5316\u7684\u6700\u65e9\u4fe1\u53f7\u3002\u5f53 API \u5f00\u59cb\u504f\u79bb\u9884\u671f\u54cd\u5e94\u65f6\u95f4\u6216\u8fd4\u56de\u95f4\u6b47\u6027 500 \u65f6\uff0c\u8fd9\u4e9b\u57fa\u7840\u6d4b\u8bd5\u6700\u5148\u53d1\u73b0\u95ee\u9898\u3002<\/p>\n \u5ef6\u8fdf\u6a21\u62df\u7aef\u70b9\uff08\u5982 \u4e00\u65e6\u786e\u8ba4 API \u53ef\u8fbe\u4e14\u7a33\u5b9a\uff0c\u4e0b\u4e00\u6b65\u662f\u786e\u4fdd\u5b83\u8fd4\u56de\u7684\u662f \u6b63\u786e\u7684<\/i> \u6570\u636e\u3002 \u50cf \/products \u8fd9\u6837\u7684\u7aef\u70b9\u5141\u8bb8\u4f60\u786e\u8ba4\uff1a<\/p>\n \u6b64\u5c42\u9762\u7684\u5931\u8d25\u5728\u7b80\u5355\u7684\u53ef\u7528\u6027\u68c0\u67e5\u4e2d\u5f80\u5f80\u88ab\u5ffd\u7565\uff0c\u4f46\u53ef\u80fd\u7834\u574f\u771f\u5b9e\u5e94\u7528\u3002\u65ad\u8a00\u4fdd\u62a4\u4f60\u514d\u53d7\u201c\u8868\u9762\u4e0a\u53ef\u7528\u4f46\u529f\u80fd\u4e0d\u6b63\u786e\u201d\u7684\u9759\u9ed8\u5931\u8d25\u3002<\/p>\n \u8fd9\u4e5f\u662f\u56e2\u961f\u5f00\u59cb\u5728 Dotcom-Monitor \u7684 REST Web API \u4efb\u52a1<\/a> \u4e2d\u6dfb\u52a0 JSONPath \u9a8c\u8bc1\u7684\u9636\u6bb5\uff0c\u5c06\u539f\u59cb\u54cd\u5e94\u8f6c\u4e3a\u53ef\u9a8c\u8bc1\u7684\u671f\u671b\u3002<\/p>\n \u5355\u4e2a\u7aef\u70b9\u5f88\u5c11\u5b64\u7acb\u5931\u8d25\u3002<\/p>\n \u771f\u6b63\u7684\u53ef\u9760\u6027\u6765\u81ea\u4e8e\u76d1\u63a7 \u7aef\u70b9\u534f\u540c\u5de5\u4f5c\u7684\u65b9\u5f0f<\/b>\u3002<\/p>\n \u50cf\u8fd9\u6837\u7684\u5de5\u4f5c\u6d41\uff1a<\/p>\n \u80fd\u5e2e\u52a9\u53d1\u73b0\u53ea\u6709\u5728\u6b65\u9aa4\u76f8\u4e92\u4f9d\u8d56\u65f6\u624d\u51fa\u73b0\u7684\u95ee\u9898\uff1a<\/p>\n \u8fd9\u7c7b\u8de8\u7aef\u70b9\u4f9d\u8d56\u5360\u4e86\u5927\u591a\u6570\u771f\u5b9e\u7684 API \u4e8b\u6545\u3002\u5408\u6210\u7684\u591a\u6b65\u9aa4\u76d1\u63a7\u2014\u2014\u6bcf\u4e2a\u8bf7\u6c42\u4e3a\u4e0b\u4e00\u4e2a\u8bf7\u6c42\u63d0\u4f9b\u8f93\u5165\u2014\u2014\u662f\u68c0\u6d4b\u6b64\u7c7b\u95ee\u9898\u7684\u552f\u4e00\u53ef\u9760\u65b9\u5f0f\u3002<\/p>\n Dotcom-Monitor \u652f\u6301\u94fe\u5f0f\u4efb\u52a1\u4ee5\u6a21\u62df\u8fd9\u4e9b\u6d41\u7a0b\uff0c\u786e\u4fdd\u4f60\u7684\u76d1\u63a7\u53cd\u6620\u7528\u6237\u53ef\u611f\u77e5\u7684\u771f\u5b9e\u884c\u4e3a\uff0c\u800c\u4e0d\u4ec5\u4ec5\u662f\u5b64\u7acb\u7aef\u70b9\u7684\u5065\u5eb7\u72b6\u51b5\u3002<\/p>\n \u53d1\u73b0\u6545\u969c\u53ea\u662f\u5de5\u4f5c\u7684\u4e00\u534a\u3002<\/p>\n \u7406\u89e3 \u4e3a\u4ec0\u4e48<\/b>\u53d1\u751f\u6545\u969c\u80fd\u591f\u9632\u6b62\u5176\u91cd\u6f14\u3002<\/p>\n \u4e00\u65e6\u793a\u4f8b\u7aef\u70b9\u88ab\u7eb3\u5165\u76d1\u63a7\uff0c\u65e5\u5fd7\u548c\u4eea\u8868\u76d8\u4f1a\u63ed\u793a\u8bf8\u5982\uff1a<\/p>\n Waterfall \u56fe\u3001\u8d8b\u52bf\u56fe\u548c\u9519\u8bef\u65e5\u5fd7\u8ba9\u4f60\u80fd\u591f\u5feb\u901f\u5b9a\u4f4d\u95ee\u9898\uff0c\u65e0\u8bba\u662f\u6162\u67e5\u8be2\u3001\u4ee4\u724c\u5230\u671f\u5faa\u73af\uff0c\u8fd8\u662f\u5728\u8d1f\u8f7d\u4e0b\u884c\u4e3a\u5f02\u5e38\u7684\u7aef\u70b9\u3002<\/p>\n \u8fd9\u79cd\u53ef\u89c1\u6027\u628a\u201c\u76d1\u63a7\u201d\u8f6c\u53d8\u4e3a\u53ef\u884c\u52a8\u7684\u53ef\u89c2\u6d4b\u6027\uff08observability\uff09\u3002<\/p>\n \u67e5\u770b\u6211\u4eec\u7684 API \u6027\u80fd\u4eea\u8868\u76d8\u4e0e SLA \u62a5\u8868\u5982\u4f55\u5de5\u4f5c<\/a><\/p>\n<\/div>\n \u5df2\u7ecf\u7ef4\u62a4 Postman \u96c6\u5408\u6216\u5185\u90e8 API \u6d4b\u8bd5\u7684\u56e2\u961f\u53ef\u4ee5\u76f4\u63a5\u5c06\u5b83\u4eec\u5bfc\u5165\u5916\u90e8\u76d1\u63a7\u7cfb\u7edf\u4ee5\u52a0\u4ee5\u5229\u7528\u3002<\/p>\n \u8fd9\u6837\u80fd\u5f25\u5408 \u5185\u90e8 QA \u9a8c\u8bc1<\/b> \u4e0e \u771f\u5b9e\u73af\u5883\u9a8c\u8bc1<\/b> \u4e4b\u95f4\u7684\u5dee\u8ddd\uff0c\u786e\u4fdd\u672c\u5730\u3001\u9884\u53d1\u4e0e\u5168\u7403\u5408\u6210\u76d1\u63a7\u73af\u5883\u7684\u4e00\u81f4\u6027\u3002<\/p>\n \u65e0\u9700\u9010\u6761\u91cd\u5efa\u6d4b\u8bd5\uff0c\u53ea\u9700\u5bfc\u5165\u96c6\u5408\u5e76\u4ece\u591a\u4e2a\u533a\u57df\u5f00\u59cb\u76d1\u63a7\uff0c\u5c31\u80fd\u66b4\u9732\u90a3\u4e9b\u5728\u672c\u5730\u6216\u4ec5 CI \u73af\u5883\u4e2d\u6c38\u8fdc\u4e0d\u4f1a\u51fa\u73b0\u7684\u95ee\u9898\u3002<\/p>\n \u67e5\u770b\u5982\u4f55\u5c06 Postman \u96c6\u5408\u5728\u5916\u90e8\u8fdb\u884c\u76d1\u63a7<\/a><\/p>\n<\/div>\n \u5f53\u4f60\u4f7f\u7528\u8fd9\u4e9b\u7aef\u70b9\u53bb\u91cd\u5efa\u771f\u5b9e\u5206\u5e03\u5f0f\u7cfb\u7edf\u4e2d\u51fa\u73b0\u7684\u95ee\u9898\u65f6\uff0c\u5b83\u4eec\u7684\u771f\u6b63\u4ef7\u503c\u5c31\u663e\u73b0\u51fa\u6765\u4e86\u3002\u76d1\u63a7\u4e4b\u6240\u4ee5\u6709\u610f\u4e49\uff0c\u662f\u56e0\u4e3a\u5b83\u53cd\u6620\u4e86\u5ba2\u6237\u5b9e\u9645\u9047\u5230\u7684\u6545\u969c\uff0c\u800c\u4e0d\u662f\u5728\u53d7\u63a7\u73af\u5883\u4e0b\u4ece\u672a\u53d1\u751f\u7684\u7406\u8bba\u6761\u4ef6\u3002<\/p>\n \u4e0b\u9762\u662f\u4e00\u4e9b\u9ad8\u5f71\u54cd\u7684\u771f\u5b9e\u573a\u666f\uff0c\u4f60\u53ef\u4ee5\u7528\u524d\u9762\u4ecb\u7ecd\u7684\u7aef\u70b9\u6765\u6a21\u62df\u3002\u6bcf\u4e2a\u573a\u666f\u90fd\u76f4\u63a5\u6620\u5c04\u5230 SRE\u3001DevOps\u3001API \u5de5\u7a0b\u548c QA \u56e2\u961f\u6bcf\u5468\u4f1a\u9047\u5230\u7684\u95ee\u9898\u3002<\/p>\n \u751f\u4ea7\u4e2d\u6700\u96be\u8bca\u65ad\u7684\u95ee\u9898\u4e4b\u4e00\u662f \u95f4\u6b47\u6027\u53d8\u6162<\/b>\u3002<\/p>\n \u5b83\u5f88\u5c11\u89e6\u53d1\u5b8c\u6574\u5b95\u673a\uff0c\u4f46\u4f1a\u6084\u6084\u5730\u8fdd\u89c4\u4f60\u7684 SLA \u5e76\u7834\u574f\u7528\u6237\u4f53\u9a8c\u3002<\/p>\n \u4f7f\u7528 \u901a\u8fc7\u8c03\u6574\u5ef6\u8fdf\u53c2\u6570\uff0c\u4f60\u53ef\u4ee5\u5efa\u6a21\u5982\u4e0b\u573a\u666f\uff1a<\/p>\n \u8fd9\u80fd\u9a8c\u8bc1\u4f60\u7684\u76d1\u63a7\u662f\u5426\u80fd\u5728\u5ba2\u6237\u5bdf\u89c9\u4e4b\u524d\u68c0\u6d4b\u5230\u6027\u80fd\u8870\u9000\u3002<\/p>\n \u8ba4\u8bc1\u95ee\u9898\u5f88\u5c11\u5728\u5355\u6b65\u6d4b\u8bd5\u4e2d\u663e\u73b0\u3002<\/p>\n \u5b83\u4eec\u53d1\u751f\u5728 \u4f1a\u8bdd\u521b\u5efa<\/b>\u3001\u4ee4\u724c\u5237\u65b0<\/b> \u6216\u7aef\u70b9\u4e4b\u95f4\u7684 \u4f20\u9012<\/b> \u8fc7\u7a0b\u4e2d\u3002<\/p>\n \u7ed3\u5408 \/auth\/token \u7aef\u70b9\u4e0e\u591a\u6b65\u9aa4\u6d41\u7a0b\uff0c\u4f60\u53ef\u4ee5\u6a21\u62df\uff1a<\/p>\n \u8fd9\u91cc\u7684\u5931\u8d25\u4f1a\u8513\u5ef6\u5230\u6240\u6709\u4e0b\u6e38\u8bf7\u6c42\u3002<\/p>\n \u4e00\u5957\u5728\u53ef\u7528\u6027\u68c0\u67e5\u4e2d\u201c\u770b\u8d77\u6765\u5065\u5eb7\u201d\u7684 API\uff0c\u82e5\u8ba4\u8bc1\u9759\u9ed8\u5931\u8d25\uff0c\u4ecd\u7136\u53ef\u80fd\u4e0d\u53ef\u7528\u3002<\/p>\n \u76d1\u63a7\u89e3\u51b3\u65b9\u6848\u5fc5\u987b\u5feb\u901f\u68c0\u6d4b\u8ba4\u8bc1\u6545\u969c\uff0c\u56e0\u4e3a\u5b83\u4eec\u4f1a\u5bf9\u767b\u5f55\u3001\u4e2a\u4eba\u8d44\u6599\u3001\u8d2d\u7269\u8f66\u3001\u8ba1\u8d39\u4ee5\u53ca\u6240\u6709\u4f9d\u8d56\u4f1a\u8bdd\u7684\u7aef\u70b9\u9020\u6210 \u5e7f\u6cdb\u5f71\u54cd<\/b>\u3002<\/p>\n \u4e86\u89e3\u66f4\u591a\u5173\u4e8e\u76d1\u63a7\u57fa\u4e8e OAuth 2.0 \u7684 API<\/a><\/p>\n<\/div>\n \u5e8f\u5217 \u4f7f\u7528\u8be5\u94fe\u53ef\u4ee5\u6a21\u62df\uff1a<\/p>\n \u5355\u6b65\u76d1\u63a7\u65e0\u6cd5\u68c0\u6d4b\u8fd9\u4e9b\u6545\u969c\uff0c\u56e0\u4e3a\u6bcf\u4e2a\u7aef\u70b9\u5728\u5355\u72ec\u6d4b\u8bd5\u65f6\u53ef\u80fd\u8fd4\u56de\u6709\u6548\u54cd\u5e94\u3002 \u5206\u5e03\u5f0f\u7cfb\u7edf\u7ecf\u5e38\u662f\u7ec4\u4ef6\u9010\u6b65\u9000\u5316\u3002<\/p>\n \u4e0b\u6e38\u5fae\u670d\u52a1\u53d8\u6162\uff0c\u4f1a\u5bfc\u81f4\u4e0a\u6e38\u7aef\u70b9\u53d8\u6162\uff0c\u5f15\u53d1\u91cd\u8bd5\uff0c\u8fdb\u800c\u4f7f\u7cfb\u7edf\u7684\u53e6\u4e00\u90e8\u5206\u8d85\u8f7d\u3002<\/p>\n \u4f7f\u7528 \u8fd9\u4e9b\u201c\u7070\u8272\u6545\u969c\u201d\u9664\u975e\u4f60\u7684\u76d1\u63a7\u540c\u65f6\u6355\u83b7\u5ef6\u8fdf\u4e0e\u987a\u5e8f\u884c\u4e3a\uff0c\u5426\u5219\u5f88\u96be\u68c0\u6d4b\u3002<\/p>\n \u5b83\u4eec\u4e5f\u6700\u5e38\u5f71\u54cd SLA \u4e0e\u5ba2\u6237\u6ee1\u610f\u5ea6\u3002<\/p>\n \u751f\u4ea7\u53ef\u9760\u6027\u56f4\u7ed5\u7684\u662f SLO\uff0c\u800c\u4e0d\u662f\u53ef\u7528\u6027\u7684\u795e\u8bdd\u3002<\/p>\n \u4f7f\u7528\u8fd9\u4e9b\u793a\u4f8b\u7aef\u70b9\uff0c\u4f60\u53ef\u4ee5\u7ec3\u4e60\uff1a<\/p>\n \u4f8b\u5982\uff0c\u6bcf\u5206\u949f\u8c03\u7528 \u4e3a\u4ec0\u4e48\u771f\u5b9e\u7684 Web API \u793a\u4f8b\u5bf9\u76d1\u63a7\u91cd\u8981\uff08\u4e0d\u662f\u6a21\u62df API\uff09<\/h2>\n
\n
\n
\u53ef\u7528\u4e8e\u76d1\u63a7\u4e0e\u6d4b\u8bd5\u7684 Web API \u793a\u4f8b\u7aef\u70b9<\/h2>\n
1. \u5065\u5eb7\u68c0\u67e5\u7aef\u70b9 (GET \/health)<\/h3>\n
{ \"status\": \"ok\", \"timestamp\": \"2025-01-01T12:00:00Z\" }<\/code><\/pre>\n\n
2. \u793a\u4f8b\u6570\u636e\u7aef\u70b9 (GET \/products)<\/h3>\n
[\r\n { \"id\": 1001, \"name\": \"Laptop Backpack\", \"price\": 49.99 },\r\n { \"id\": 1002, \"name\": \"USB-C Dock\", \"price\": 89.50 }\r\n]\r\n<\/code><\/pre>\n\n
3. \u5ef6\u8fdf\u6a21\u62df\u7aef\u70b9 (GET \/slow?ms=2500)<\/h3>\n
\n
4. \u9519\u8bef\u6a21\u62df\u7aef\u70b9 (GET \/error\/{code})<\/h3>\n
\n
\n
5. OAuth 2.0 \u4ee4\u724c\u7aef\u70b9 (POST \/auth\/token)<\/h3>\n
{\r\n\r\n\"access_token\": \"eyJhbGciOiJIUzI\u2026\",\r\n\r\n\"expires_in\": 3600,\r\n\r\n\"token_type\": \"Bearer\"\r\n\r\n}<\/code><\/pre>\n\n
6. \u591a\u6b65\u9aa4\u5de5\u4f5c\u6d41\uff08\u767b\u5f55 \u2192 \u8d2d\u7269\u8f66 \u2192 \u7ed3\u8d26\uff09<\/h3>\n
\n
\n
\u5982\u4f55\u6709\u6548\u5730\u76d1\u63a7\u8fd9\u4e9b\u793a\u4f8b\u7aef\u70b9\uff08\u7cbe\u70bc\u4e0e\u7ed3\u6784\u5316\uff09<\/h2>\n
1. \u4ece\u6bcf\u4e2a API \u4f9d\u8d56\u7684\u6838\u5fc3\u6307\u6807\u5f00\u59cb<\/h3>\n
\n\u50cf \/health<\/code> \u548c \/products<\/code> \u8fd9\u6837\u7684\u7aef\u70b9\u5e2e\u52a9\u4f60\u9a8c\u8bc1\uff1a<\/p>\n\n
\/slow?ms=2500<\/code>\uff09\u4f1a\u653e\u5927\u8fd9\u4e9b\u6d1e\u89c1\uff0c\u5c55\u793a\u4f60\u7684\u76d1\u63a7\u5e73\u53f0\u5982\u4f55\u5904\u7406\u63a5\u8fd1\u8d85\u65f6\u7684\u60c5\u51b5\u3001\u6296\u52a8\u548c\u7f51\u7edc\u6027\u80fd\u6ce2\u52a8\u3002<\/p>\n2. \u7528\u65ad\u8a00\u9a8c\u8bc1\u8f7d\u8377\u5b8c\u6574\u6027<\/h3>\n
\n\u8fd9\u5c31\u662f\u65ad\u8a00\uff08assertions\uff09\u53d8\u5f97\u5fc5\u4e0d\u53ef\u5c11\u7684\u5730\u65b9\u3002<\/p>\n\n
3. \u901a\u8fc7\u591a\u6b65\u9aa4\u76d1\u63a7\u91cd\u5efa\u771f\u5b9e\u5ba2\u6237\u65c5\u7a0b<\/h3>\n
\n
\n
4. \u4f7f\u7528\u4eea\u8868\u76d8\u4e0e\u65e5\u5fd7\u8bca\u65ad\u6839\u672c\u539f\u56e0<\/h3>\n
\n
5. \u5c06\u73b0\u6709\u6d4b\u8bd5\u96c6\u5408\u7eb3\u5165\u76d1\u63a7<\/h3>\n
\u53ef\u7528\u8fd9\u4e9b\u7aef\u70b9\u7ec3\u4e60\u7684\u771f\u5b9e\u573a\u666f<\/h2>\n
1. \u5ef6\u8fdf\u5cf0\u503c\u4e0e\u533a\u57df\u6027\u80fd\u6f02\u79fb<\/h3>\n
\/slow?ms=<\/code> \u7aef\u70b9\u53ef\u4ee5\u91cd\u73b0\uff1a<\/p>\n\n
\n
2. \u8ba4\u8bc1\u4e2d\u65ad\u4e0e\u4ee4\u724c\u8fc7\u671f\u6545\u969c<\/h3>\n
\n
3. \u8de8\u4f9d\u8d56\u7aef\u70b9\u7684\u5de5\u4f5c\u6d41\u4e2d\u65ad<\/h3>\n
\/login \u2192 \/cart \u2192 \/checkout<\/code> \u53cd\u6620\u4e86\u5927\u591a\u6570\u6545\u969c\u53d1\u751f\u7684\u6d41\u7a0b\u7c7b\u578b\u2014\u2014\u4e0d\u662f\u56e0\u4e3a\u67d0\u4e2a\u7aef\u70b9\u5b95\u673a\uff0c\u800c\u662f\u56e0\u4e3a \u7aef\u70b9\u4e4b\u95f4\u7684\u5173\u7cfb\u88ab\u7834\u574f<\/b>\u3002<\/p>\n\n
\n\u53ea\u6709 \u5408\u6210\u591a\u6b65\u9aa4\u76d1\u63a7<\/b> \u80fd\u63ed\u793a\u7528\u6237\u5b9e\u9645\u4f1a\u611f\u53d7\u5230\u7684\u95ee\u9898\u3002<\/p>\n4. \u7ea7\u8054\u6545\u969c\u4e0e\u90e8\u5206\u4e2d\u65ad<\/h3>\n
\/slow, \/products<\/code> \u548c \/error\/{code}<\/code>\uff0c\u4f60\u53ef\u4ee5\u5efa\u6a21\uff1a<\/p>\n\n
5. SLA\/SLO \u76d1\u63a7\u4e0e\u9519\u8bef\u9884\u7b97\u6d88\u8017<\/h3>\n
\n
\/slow?ms=3000<\/code> \u53ef\u6a21\u62df\u6301\u7eed\u7684\u6027\u80fd\u9000\u5316\uff0c\u8ba9\u4f60\u89c2\u5bdf\u9519\u8bef\u9884\u7b97\u50cf\u771f\u5b9e\u4e8b\u4ef6\u4e2d\u90a3\u6837\u88ab\u6d88\u8017\u3002<\/p>\n