From adc1a0053f8ddf3ebfa4fb943c1960b84d448db5 Mon Sep 17 00:00:00 2001 From: gongwenxin Date: Fri, 6 Jun 2025 14:52:08 +0800 Subject: [PATCH] add:flask app --- .DS_Store | Bin 8196 -> 8196 bytes MANUAL.md | 83 + Makefile | 3 +- __pycache__/flask_app.cpython-312.pyc | Bin 0 -> 28005 bytes .../test_case_registry.cpython-312.pyc | Bin 15391 -> 16050 bytes .../test_framework_core.cpython-312.pyc | Bin 29505 -> 29505 bytes .../test_orchestrator.cpython-312.pyc | Bin 156676 -> 155871 bytes ddms_compliance_suite/test_case_registry.py | 24 +- ddms_compliance_suite/test_orchestrator.py | 51 +- flask_app.py | 570 +- requirements.txt | 4 +- schema.sql | 7 + static/index.html | 124 +- static/script.js | 247 +- test_reports/api_call_details.md | 4899 ++++++----------- test_reports/summary_report.json | 1091 ++++ test_reports/test_summary.json | 1091 ++++ users.db | Bin 0 -> 16384 bytes 18 files changed, 4726 insertions(+), 3468 deletions(-) create mode 100644 MANUAL.md create mode 100644 __pycache__/flask_app.cpython-312.pyc create mode 100644 schema.sql create mode 100644 test_reports/summary_report.json create mode 100644 test_reports/test_summary.json create mode 100644 users.db diff --git a/.DS_Store b/.DS_Store index 8db86f228b979532a5ffa0345ae4424909e577ab..4513e1c2cc9699ce25472f235c669ac5323d0734 100644 GIT binary patch delta 83 zcmV-Z0IdInK!iY$PZbXU0003101yBGbO3W=cXM!JY;R(*ah3;>fDN+;2m}ZL50j7( p^Rt%{a0Rh|m;ti~81@7SAbUA7Ff1T6Ig>FJG_%qcH36}Jl>yZb7{mYo delta 266 zcmZp1XmOa}FDlHyz`)4BAiz*ilH^lbTv7z&t8FZt#y+uucQZQ&3r9Uj1q*{AgC0Wx zLnX2*hERrLhE#?kAgRw#1(Z!@FaWC4XDDaL2a09`#S0h`fugBk`6`ASh72Gp87P|z zl*wVp1j^ Y<_`k(tee>-zOhWM7tGjvR(L)W09gGyYybcN diff --git a/MANUAL.md b/MANUAL.md new file mode 100644 index 0000000..8355cd9 --- /dev/null +++ b/MANUAL.md @@ -0,0 +1,83 @@ +# 合规性验证工具使用手册 + +## 1. 用户注册与登录 + +为了保证测试环境的隔离和安全,所有操作都需要在登录后进行。 + +### 1.1 注册 + +首次访问时,您将被重定向到登录页面。点击 "点此注册" 链接进入注册页面。 + +![注册页面截图](images/register_page.png) + +输入您想要的用户名和密码,然后点击 "注册" 按钮。如果用户名未被占用,系统将提示您 "注册成功! 请登录." 并跳转回登录页面。 + +### 1.2 登录 + +在登录页面,输入您刚刚注册的用户名和密码,点击 "登录"。 + +![登录页面截图](images/login_page.png) + +登录成功后,您将看到应用的主界面。 + +## 2. 主界面功能介绍 + +应用的主界面是您配置和发起测试的核心区域。 + +![应用主界面截图](images/main_interface.png) + +### 2.1 API 规范配置 + +这是进行测试的首要步骤。 + +- **API 规范类型**: 选择您的 API 定义文件类型,是 YAPI 还是 Swagger/OpenAPI。 +- **YAPI/Swagger 文件路径**: + - 输入 API 规范文件在 **服务器上** 的 **绝对路径** 或 **相对于 `flask_app.py` 的相对路径**。 + - 例如,如果文件在 `/data/specs/my_api.json`,则输入该绝对路径。 + - 如果文件在项目根目录下的 `assets/doc/api.json`,可以输入 `assets/doc/api.json`。 +- **加载分类/标签**: 输入文件路径后,点击此按钮。系统会解析文件,并在下方列出文件中定义的所有 API 分类(YAPI)或标签(Swagger),供您查阅。 + +### 2.2 基本配置 + +- **目标服务 Base URL**: 输入您要测试的 API 服务的基础地址。例如 `http://api.example.com/v1`。框架会将此 URL 与 API 规范中的相对路径拼接成完整的请求地址。 + +### 2.3 高级配置 (可折叠) + +点击 "高级配置" 标题可以展开或收起以下选项,这些选项都有预设的默认值。 + +- **自定义测试用例目录**: 指向包含自定义测试用例(`BaseAPITestCase` 的子类)的文件夹路径。 +- **自定义阶段目录**: 指向包含自定义测试阶段(`BaseAPIStage` 的子类)的文件夹路径。 +- **报告输出目录**: 指定生成的测试报告(JSON 摘要和 Markdown 详情)要保存到的目录。 + +默认值分别为 `./custom_testcases`, `./custom_stages`, 和 `./test_reports`。 + +### 2.4 LLM 配置 (可折叠) + +点击 "LLM 配置" 标题可以展开或收起此部分。这些配置用于启用和控制使用大语言模型(LLM)生成测试数据的功能。 + +- **LLM API Key**: 您的 LLM 服务提供商的 API 密钥。 +- **LLM Base URL**: 您的 LLM 服务的 API 地址。 +- **LLM 模型名称**: 您要使用的具体模型名称。 +- **使用 LLM 生成...**: 勾选相应的复选框,可以启用 LLM 来自动生成请求体、路径参数、查询参数或请求头。 + +## 3. 执行测试与查看结果 + +配置完成后,点击页面底部的 "运行测试" 按钮。 + +![测试结果区域截图](images/results_section.png) + +- **日志输出**: 测试过程中的实时日志会显示在此文本框中。 +- **测试摘要**: 测试完成后,此处会显示一个总结性的表格,包含成功、失败、总计等信息。 +- **报告链接**: + - **摘要报告 (JSON)**: 点击链接可以查看详细的 JSON 格式测试摘要。 + - **API 调用详情 (Markdown)**: 点击链接可以下载一个 Markdown 格式的报告,其中包含了每一次 API 调用的详细信息(请求头、请求体、响应头、响应体、cURL 命令等),并且每个条目都是可折叠的,方便查阅。 + +## 4. 查看报告详情 + +下载的 "API 调用详情 (Markdown)" 文件,可以使用任何支持 Markdown 的编辑器(如 VS Code, Typora)打开,以获得最佳的阅读体验。 + +![Markdown 报告截图](images/markdown_report.png) + +报告中的每个 API 调用都是一个独立的、可折叠的部分,您可以轻松地展开您关心的失败或成功的请求,查看其所有细节。 + +--- diff --git a/Makefile b/Makefile index 89547b7..5dac161 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,8 @@ # build: # pyinstaller --name ddms_compliance_tool --onefile run_api_tests.py - +db: + flask init-db run: python run_api_tests.py --base-url http://127.0.0.1:4523/m1/6389742-6086420-default --yapi assets/doc/井筒API示例_simple.json --custom-test-cases-dir ./custom_testcases --verbose --output test_report.json >log.txt 2>&1 run_stages: diff --git a/__pycache__/flask_app.cpython-312.pyc b/__pycache__/flask_app.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..fecfa0f5f00d6107c39b1b83888effbca8ef890a GIT binary patch literal 28005 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 Vk4?7>*I!qbEyhyH6k;Cy{{c`)<(>cl literal 0 HcmV?d00001 diff --git a/ddms_compliance_suite/__pycache__/test_case_registry.cpython-312.pyc b/ddms_compliance_suite/__pycache__/test_case_registry.cpython-312.pyc index 87e2fab7f3483b3d08e7d123de58cd4d24e15fc9..4a42dbecc2cfee6236f7e337154d2dc40b5b335d 100644 GIT binary patch delta 4268 zcma)9YfK#16~1>~`ZwTYjJlQz`H>&}RXKIqs!=NS+*xK> zZ1Nbvx#yla=R4<~d+t56KYj7nbI!jw9CifHt%d@d*(Z#EDRH@);uyoJvtHpq>M>UtAbq#2)za&07m zTZ1s(ubJy4S8>EyRj)VHyIo1nw41LtUn;h0j3N4V6SV&OWopQ@FC<|#DEHu3>0qS# zayx1@)|RK()zIr`kukv_jbbJSfQ@Fvj2a?mnQ()w%DH{D2o+w9k;`nD1$0tkg1C*q zBB_a+4cnS(aX2-kc*!}Y;Y*R4Hb?pg8}>QX&^4bKW2TudhD5kVwmJ7W*~x`lTGW<@ z(a}d?o0Io0v=XM`SCeE~2=W0nnR}X?QQ^X##gHt%4}5# zvr>SxZSlLXi9)3*mdx6I^2F@^!Mr?vs-Wj5WnC@k^7v>$Eyzk%Q^)nZHX~1K`O{fN zRnqd%iR|=rcIx=L9;g+@^QTp9COw$4lZZXJO%oxGvTa0Dk7o9m|u`_8-l=0iar`Vr*4%uSkg{DRE0mek{2!J#q1g z6)CbLMM_cimUQecP1*R`rAK+>gn!6y9Nm2f*6}K2HfP8;l0u|N@?t8eY)GgstZ5PK z36Q^vK8{+GD`J>=hUy2%e?4_PYY5>qk}pK58z$7{Jx|Vaj{v4h1+8M}At%LFLE&q$ zY`S;N%JARr@I9soRN?-|tZKLpg*mL7wS#hj`*jT$SHuvxBE^r;D!%7YEM`#^@Is)- z=fd|Wz*MQ;I~rbSEAk4X*g|Md*pM+CB^{1tF=m?QWRi3y$vH=`f0Jf)nbB0eM%T1j zA9Jnbh9iy>WC5~sBEX#c$bsL ztGH@!4jmFwc`C{EMV+0C?0tIO8}tUq6<^fVvq1(M5rMd5=iTrb5|F%zsWc&&Bn44MK_!n0rsuM+&7HA4d1JC?z8U8?7~MC?hMusd>LHQ zfD0LLtzQYpE!0)vo~(gO*F@)OGk{VC5J%%8X@AOH>%D!>Q(cUhE_&$KprLrh-{`Kz zZJ+a26lZ*Xd(ms^y&P!8y`(L0VScvn;AZVHTac&nx?E88ng&_zZt20%l0scTqw+R@ri9RGWf$$V1V3Mr$D>(Qn}Z`EhjE*+^fr`LSFX zXSF2xB6>&+QnNZBvkCH4DA5%Mwr~)7=s9%9irjT8uBH!MP0+z>yY|qsbZ}Mje&X_w zmtv9m=#msI$wy1ijjcR)a_PB~rK4IYR#=vFqwzN_NlhzKYDr3!I`+JqSlK(gw0F3) z=TK?O;brLvzI&HwZ0VI^)9!vduVC*P-)k}Qp51F_0UIF@sjnT^^)tN z>oxpZ-%2>W6izQ&yH*3i3*skD*FTHB#?QZ(-a9a4;r`U_rgXpx^w0c03k>f|@gXd| zpXMmty005VrPLnRa1XkP1(@8l*oM=Vo9^V$faT_Z1pKl!d9cs2+(-FasChVLxs~E6 z-(x!*WN&Sk56SF@vIP8x9r9r>yW-`U!$IO``GuGEZtVz7BK=J$%UY1U*Rm65373=w zdQ*;L5^t#^JCkQ5s#~DnJyh!t$pd(jNUaelj#R582;1R>79~46TOaM9EbW6Si)J`@ zo(e{Rl-*Di6WQ_6u?hIDqu-2Ll8W)9HVk8depJYn2YkHIc>tfh{#oa4W?ti|8Vlcs zT0L+^325{?SF=*`T}tTvtBp`{0>~Rkqw#A-#n>rFi3I4^16qnA z!*3T%e4QIW?i~)LwxXbax8BfkfP4 zF~+x%?KZOCM*iE#Y5dv#hB|Me&VLCA_xy+3&tUmeMCqMpx$9>i{2?3M;T?>zf8637 TY-ex8_`x>Ijdp(U0n7gZN9J{M delta 3756 zcmb7HYitzP6~1>KJG0*Rd)Hoj$M)Lm^<%xZL%@ar4m31?oC0>GOiQWF4DoK(5ALpM zan~|ZiAul(%xy|kY9)QBC4mHp)e5z=idrdAiG*w*0&Uu=X)#pok2s;~k4R~I@2qE7 zw{A;E@;P_TJ&*64bNAfwn-ed8)&8!{RtCs3GT1s;(Kc-lP7VqHoCXR|Uh+vkd^8WYGWvR4!dr+yRayP8ktP(^snNxO7d4bZM#D&%xqScB>#=k1qv0_^!jl z882a{C#d>$EuG5&T_Mo6g4YsH0HZp5^@MET0x}c2zOJg_>I5vmOnP{kDV89 z_}h+fQh};&fw?t`Pl-?6-?o(8Imu4Pa13USnncV*+nc=5F4xBQF z@%tVx{zsD^e`qx`@jSk0jWY_=B)_%U*@Fxf`LWX$#7whCBAw!9SUpd2die>MGh(Fe zc!$Gts@X@piFndp4PA6vxlFo27Ebx|eAHW43$4c_z>6 zeV!1^Am^vx>5~r9sSPVglz45pC@ZBW8KnN3b_8E?RKu`lSxxcbPaJkUX7=Ex9Nws6 z&YMV5WqE;21y08aL9R}BOs)!Qw9i>C>M}eHefWZ>EJgCE%r)tnc}uQYU+W1FjYO$@ z3=+xeT&u2^w;rT0y0NWsrKXn{=ntcdat@G zV3Jx9dfMG0J!a_G70-FEo-z3e?*L%JQOxgi4w9cw$Hn@W{B7_EkY?<~U+_5aA6yaKjNZ96*ACRu? zXf4$y1>fK3!HZVGN%WJYTY7~#veAZr?W=S?u1ARi)HdNX@CKD??P%9%sB81Y)r^T0 zKZ;%C%V(?K>fHPvE$cMPkY-uG%+iOi_{*G6lvpN8V!D->X49bAa7)qR%OW*RxD1R| zr6up8*RiHK8Hg9j@|j$3q`RM z8>=VMn6z->=)!Y9S$O?qQND0u`rZo{OM@g52}Hk5$7i>PoGcjzyThM>z4-g#dKj3! z8lHho^#x`mTi{0fbAtswl~qzm8~n>O~+c`q6M|_?ZHi8s0a8U#*&5T|wo%iqHr` zboL{PuV7Y($A(nYpHq>WzMHZmD5oj~Q~&6wI;@~td_2+#z4)C-pS_YQupCy;S}x0;e1QP6}^~%v&RKHNA6vPv7brobMZ)>rKr` z>6_MPZ(H5J7p*5O&s%PZ!Fe$_SJ8a7_g2fs`Ie1y&E0d|&&-7eZ;Gi|RQ)nP`Kwir zuiIhg-fnji`VK2nYTYCdcGXk8L$qF9#ZlV1DM>`vlHHD7Yrwo{A}{lH^R89Ge4u_O zD_m!-WPROHzjLi{eJx$z5NdZNg&RqpuGg6Rs@R)Q>W#5CV^+HEkorRGdm*0btHP&Z zKXiL(#(gwR+8#+lKD@PIJ=~3-Z;)UBzt(WlN>#G-%A%W3#J9qJJRJ{{zP%B*noRTq z997`AT4Mn^+|UL>;sVnA?xun-;lH=~%cEpjfJ0~};aTz@5DBF{#APD66{@oblN*`I z0-MbtM6WNc3y4%6AdV7|68bfV=!J~FNXZ}}uL2aHYprwiKP^NF{bb0F5po!O#4xI>o;%2hZbhcv=5O#6R<;`zJ=JEQD&yu{p(eWu)^<`o`&cwRL z?UK|zI+{uC?H|afUD7xsHJ~c|y*1I;BPd3c3ii~{C^==B)Iee^m&zbI_R(re$dCm{ z!5^;~fDO2>vjw)|uM^sYFLn0R(G&{i{!FI$5rb%j5It~+9!%6v$zB}os)vJkTh~Zp zhzg8cKM~grjVNOobv>FU8?-&yH%Vz0SqS0#z>NRW6|#K|Lg^zw>0+Lpb*(+h23EU! X%GtN;-90h(S~=en6|Tkjo;Km1if}O= diff --git a/ddms_compliance_suite/__pycache__/test_framework_core.cpython-312.pyc b/ddms_compliance_suite/__pycache__/test_framework_core.cpython-312.pyc index 1054f5dc2331425d97ba3d04ab16549ea7902619..2a876c0d48a769ef3b031d960d6424aa9c2d39dc 100644 GIT binary patch delta 21 bcmX^3jPc+zMy}Jmyj%=GU|715%e)u>Q*s7X delta 21 bcmX^3jPc+zMy}Jmyj%=GAnmk~%e)u>QSSx} diff --git a/ddms_compliance_suite/__pycache__/test_orchestrator.cpython-312.pyc b/ddms_compliance_suite/__pycache__/test_orchestrator.cpython-312.pyc index edbd53b306d7a9926c3136e901299f5293eab2b7..f6d0438ebd995d60288090b091d312cc0eb1cd39 100644 GIT binary patch delta 15353 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 delta 16129 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 TestSummary: """基于已解析的API规范对象执行测试用例。""" - # Restore the original start of the method body, the rest of the method should be intact from before. - if custom_test_cases_dir and (not self.test_case_registry or not hasattr(self.test_case_registry, 'test_cases_dir') or self.test_case_registry.test_cases_dir != custom_test_cases_dir): - self.logger.info(f"Re-initializing TestCaseRegistry from _execute_tests_from_parsed_spec with new directory: {custom_test_cases_dir}") - try: - # Assuming TestCaseRegistry can be re-initialized or its directory updated. - # If TestCaseRegistry is loaded in __init__, this might need adjustment - # For now, let's assume direct re-init is possible if dir changes. - self.test_case_registry = TestCaseRegistry() - self.test_case_registry.discover_and_load_test_cases(custom_test_cases_dir) - self.logger.info(f"TestCaseRegistry (re)initialized, found {len(self.test_case_registry.get_all_test_case_classes())} test case classes.") - except Exception as e: - self.logger.error(f"Failed to re-initialize TestCaseRegistry from _execute_tests_from_parsed_spec: {e}", exc_info=True) - # summary.finalize_summary() # Finalize might be premature here - return summary # Early exit if registry fails + if custom_test_cases_dir and (not self.test_case_registry or self.test_case_registry.test_cases_dir != custom_test_cases_dir): + self.logger.info(f"Re-initializing TestCaseRegistry with new directory: {custom_test_cases_dir}") + self.test_case_registry = TestCaseRegistry(test_cases_dir=custom_test_cases_dir) endpoints_to_test: List[Union[YAPIEndpoint, SwaggerEndpoint]] = [] if isinstance(parsed_spec, ParsedYAPISpec): endpoints_to_test = parsed_spec.endpoints if categories: - # Ensure YAPIEndpoint has 'category_name' if this filter is used. endpoints_to_test = [ep for ep in endpoints_to_test if hasattr(ep, 'category_name') and ep.category_name in categories] elif isinstance(parsed_spec, ParsedSwaggerSpec): endpoints_to_test = parsed_spec.endpoints if tags: - # Ensure SwaggerEndpoint has 'tags' attribute for this filter. endpoints_to_test = [ep for ep in endpoints_to_test if hasattr(ep, 'tags') and isinstance(ep.tags, list) and any(tag in ep.tags for tag in tags)] - else: - self.logger.warning(f"Unknown parsed_spec type: {type(parsed_spec)}. Cannot filter endpoints.") - # summary.finalize_summary() # Finalize might be premature - return summary - - current_total_defined = summary.total_endpoints_defined - summary.set_total_endpoints_defined(current_total_defined + len(endpoints_to_test)) - total_applicable_tcs_for_this_run = 0 + summary.set_total_endpoints_defined(summary.total_endpoints_defined + len(endpoints_to_test)) + if self.test_case_registry: - for endpoint_spec_obj in endpoints_to_test: - total_applicable_tcs_for_this_run += len( - self.test_case_registry.get_applicable_test_cases( - endpoint_spec_obj.method.upper(), endpoint_spec_obj.path - ) - ) - current_total_applicable = summary.total_test_cases_applicable - summary.set_total_test_cases_applicable(current_total_applicable + total_applicable_tcs_for_this_run) + total_applicable_tcs = sum( + len(self.test_case_registry.get_applicable_test_cases(ep.method.upper(), ep.path)) + for ep in endpoints_to_test + ) + summary.set_total_test_cases_applicable(summary.total_test_cases_applicable + total_applicable_tcs) for endpoint in endpoints_to_test: - # global_api_spec 应该是包含完整定义的 ParsedYAPISpec/ParsedSwaggerSpec 对象 - # 而不是其内部的 .spec 字典,因为 _execute_single_test_case 需要这个对象 result = self.run_test_for_endpoint(endpoint, global_api_spec=parsed_spec) summary.add_endpoint_result(result) diff --git a/flask_app.py b/flask_app.py index e0cc041..5f60300 100644 --- a/flask_app.py +++ b/flask_app.py @@ -4,8 +4,12 @@ import json import logging import argparse import traceback # 用于更详细的错误日志 +import uuid # For unique filenames from pathlib import Path -from flask import Flask, request, jsonify, send_from_directory +import sqlite3 # <-- ADDED: For SQLite database +from werkzeug.security import generate_password_hash, check_password_hash # <-- ADDED: For password hashing +from werkzeug.utils import secure_filename # For safe filenames +from flask import Flask, request, jsonify, send_from_directory, session, redirect, url_for, render_template_string, g # <-- MODIFIED: Added session, redirect, url_for, render_template_string from flask_cors import CORS # 用于处理跨域请求 # 将ddms_compliance_suite的父目录添加到sys.path @@ -17,6 +21,7 @@ from flask_cors import CORS # 用于处理跨域请求 # 或者更具体地添加包含ddms_compliance_suite的目录 # sys.path.insert(0, os.path.join(project_root, 'ddms_compliance_suite')) +from ddms_compliance_suite.api_caller.caller import APICallDetail from ddms_compliance_suite.test_orchestrator import APITestOrchestrator, TestSummary from ddms_compliance_suite.input_parser.parser import InputParser, ParsedYAPISpec, ParsedSwaggerSpec # 从 run_api_tests.py 导入辅助函数 (如果它们被重构为可导入的) @@ -32,12 +37,310 @@ logging.basicConfig( ) logger = logging.getLogger(__name__) +# 获取 flask_app.py 脚本所在的目录 +APP_ROOT = os.path.dirname(os.path.abspath(__file__)) +UPLOAD_FOLDER = os.path.join(APP_ROOT, 'uploads') +os.makedirs(UPLOAD_FOLDER, exist_ok=True) +app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER +DATABASE = os.path.join(APP_ROOT, 'users.db') # <-- ADDED: Database path + +app.config['SECRET_KEY'] = os.urandom(24) # <-- ADDED: Secret key for session management +app.config['DATABASE'] = DATABASE + +# --- 数据库辅助函数 --- +def get_db(): + db = getattr(g, '_database', None) + if db is None: + db = g._database = sqlite3.connect(DATABASE) + db.row_factory = sqlite3.Row # Access columns by name + return db + +@app.teardown_appcontext +def close_connection(exception): + db = getattr(g, '_database', None) + if db is not None: + db.close() + +def init_db(force_create=False): + """Initializes the database from schema.sql.""" + if force_create or not os.path.exists(DATABASE): + with app.app_context(): + db = get_db() + with app.open_resource('schema.sql', mode='r') as f: + db.cursor().executescript(f.read()) + db.commit() + logger.info("Database initialized!") + else: + logger.info("Database already exists.") + +@app.cli.command('init-db') +def init_db_command(): + """CLI command to initialize the database.""" + init_db(force_create=True) + print("Initialized the database.") + +# --- 用户认证路由 --- +REGISTER_TEMPLATE = ''' + + +注册 + +

注册新用户

+ {% with messages = get_flashed_messages() %} + {% if messages %} +
    + {% for message in messages %} +
  • {{ message }}
  • + {% endfor %} +
+ {% endif %} + {% endwith %} +
+ +

+ +

+ +
+

已有账户? 点此登录

+ + +''' + +LOGIN_TEMPLATE = ''' + + +登录 + +

请登录

+ {% with messages = get_flashed_messages(with_categories=true) %} + {% if messages %} +
    + {% for category, message in messages %} +
  • {{ message }}
  • + {% endfor %} +
+ {% endif %} + {% endwith %} +
+ +

+ +

+ +
+

没有账户? 点此注册

+ + +''' + +@app.route('/register', methods=('GET', 'POST')) +def register(): + if request.method == 'POST': + username = request.form['username'] + password = request.form['password'] + db = get_db() + error = None + + if not username: + error = '用户名是必需的.' + elif not password: + error = '密码是必需的.' + + if error is None: + try: + db.execute( + "INSERT INTO user (username, password_hash) VALUES (?, ?)", + (username, generate_password_hash(password)), + ) + db.commit() + except db.IntegrityError: # Username already exists + error = f"用户 {username} 已被注册." + else: + flash('注册成功! 请登录.') + return redirect(url_for("login")) + + flash(error) + return render_template_string(REGISTER_TEMPLATE) + +@app.route('/login', methods=('GET', 'POST')) +def login(): + if request.method == 'POST': + username = request.form['username'] + password = request.form['password'] + db = get_db() + error = None + user = db.execute( + 'SELECT * FROM user WHERE username = ?', + (username,) + ).fetchone() + + if user is None: + error = '用户名不存在.' + elif not check_password_hash(user['password_hash'], password): + error = '密码错误.' + + if error is None: + session.clear() + session['user_id'] = user['id'] + session['username'] = user['username'] + flash('登录成功!', 'success') + return redirect(url_for('serve_index')) + + flash(error, 'error') + + # If user is already logged in, redirect to index + if 'user_id' in session: + return redirect(url_for('serve_index')) + + return render_template_string(LOGIN_TEMPLATE) + +@app.route('/logout') +def logout(): + session.clear() + flash('您已成功登出.') + return redirect(url_for('login')) + +# --- 应用辅助函数和路由保护 --- +from functools import wraps +from flask import g, flash # ensure g and flash are imported + +def login_required(view): + @wraps(view) + def wrapped_view(**kwargs): + if g.user is None: + return redirect(url_for('login')) + return view(**kwargs) + return wrapped_view + +@app.before_request +def load_logged_in_user(): + user_id = session.get('user_id') + if user_id is None: + g.user = None + else: + g.user = get_db().execute( + 'SELECT * FROM user WHERE id = ?', (user_id,) + ).fetchone() + # --- 辅助函数 --- +def save_api_call_details_to_file(api_call_details: list[APICallDetail], output_dir_path_str: str, filename: str = "api_call_details.md"): + """将API调用详情保存到Markdown文件。""" + if not api_call_details: + logger.info("没有API调用详情可保存。") + return None + + output_dir = Path(output_dir_path_str) + output_dir.mkdir(parents=True, exist_ok=True) + file_path = output_dir / filename + + unique_id_counter = 0 + + try: + with open(file_path, 'w', encoding='utf-8') as f: + f.write("# API 调用详情记录\\n\\n") + for detail_obj in api_call_details: + unique_id_counter +=1 + unique_id = f"api-call-{unique_id_counter}" + + # Convert elapsed time from seconds to milliseconds for display + elapsed_ms = detail_obj.response_elapsed_time * 1000 + + f.write(f"
\\n") + f.write(f"{detail_obj.request_method.upper()} {detail_obj.request_url} - 状态: {detail_obj.response_status_code} - 耗时: {elapsed_ms:.2f}ms\\n\\n") + + # 请求详情 + f.write("#### 请求 (Request)\\n") + f.write(f"- **Method:** `{detail_obj.request_method.upper()}`\\n") + f.write(f"- **URL:** `{detail_obj.request_url}`\\n") + if detail_obj.request_headers: + f.write("- **Headers:**\\n") + f.write("```json\\n") + f.write(json.dumps(detail_obj.request_headers, indent=2, ensure_ascii=False) + "\\n") + f.write("```\\n") + if detail_obj.request_params: + f.write("- **Query Parameters:**\\n") + f.write("```json\\n") + f.write(json.dumps(detail_obj.request_params, indent=2, ensure_ascii=False) + "\\n") + f.write("```\\n") + if detail_obj.request_body: + f.write("- **Request Body:**\\n") + f.write("```json\\n") # 假设请求体是JSON,如果不是则可能需要调整 + # 尝试解析为JSON,如果失败则按原样写入 + try: + body_json = json.loads(detail_obj.request_body) if isinstance(detail_obj.request_body, str) else detail_obj.request_body + f.write(json.dumps(body_json, indent=2, ensure_ascii=False) + "\\n") + except json.JSONDecodeError: + f.write(str(detail_obj.request_body) + "\\n") # Fallback to string + f.write("```\\n") + + f.write(f"- **cURL Command:**\\n") + f.write("```bash\\n") + f.write(detail_obj.curl_command + "\\n") + f.write("```\\n\\n") + + # 响应详情 + f.write("#### 响应 (Response)\\n") + f.write(f"- **Status Code:** `{detail_obj.response_status_code}`\\n") + f.write(f"- **Elapsed Time:** {elapsed_ms:.2f} ms\\n") + if detail_obj.response_headers: + f.write("- **Response Headers:**\\n") + f.write("```json\\n") + f.write(json.dumps(detail_obj.response_headers, indent=2, ensure_ascii=False) + "\\n") + f.write("```\\n") + if detail_obj.response_body: + f.write("- **Response Body:**\\n") + # 首先尝试格式化为JSON,如果失败则保持原样 + try: + # 假设 response_body 是字符串或者可以被json.loads处理的字节串 + body_to_write = detail_obj.response_body + if isinstance(body_to_write, bytes): + try: + body_to_write = body_to_write.decode('utf-8') + except UnicodeDecodeError: + body_to_write = str(body_to_write) # Fallback if not UTF-8 + + if isinstance(body_to_write, str): + try: + parsed_json = json.loads(body_to_write) + f.write("```json\\n") + f.write(json.dumps(parsed_json, indent=2, ensure_ascii=False) + "\\n") + f.write("```\\n") + except json.JSONDecodeError: # Not a JSON string + f.write("```text\\n") # Treat as plain text + f.write(body_to_write + "\\n") + f.write("```\\n") + else: # Already a dict/list (shouldn't happen if APICallDetail.response_body is str/bytes) + f.write("```json\\n") + f.write(json.dumps(body_to_write, indent=2, ensure_ascii=False) + "\\n") + f.write("```\\n") + except Exception as e_resp_body: + logger.error(f"Error processing response body for API call to {detail_obj.request_url}: {e_resp_body}") + f.write("```text\\n") + f.write(f"(Error processing response body: {e_resp_body})\\n") + f.write(str(detail_obj.response_body) + "\\n") # Fallback + f.write("```\\n") + else: + f.write("- Response Body: (empty)\\n") + + f.write("\\n
\\n\\n") + f.write("---\\n\\n") # Separator + + logger.info(f"API 调用详情已成功保存到: {file_path}") + return str(file_path) + except IOError as e: + logger.error(f"保存 API 调用详情到文件时发生IO错误 '{file_path}': {e}", exc_info=True) + return None + except Exception as e: + logger.error(f"保存 API 调用详情时发生未知错误 '{file_path}': {e}", exc_info=True) + return None + def get_orchestrator_from_config(config: dict) -> APITestOrchestrator: """根据配置字典实例化APITestOrchestrator""" return APITestOrchestrator( base_url=config.get('base_url', ''), custom_test_cases_dir=config.get('custom_test_cases_dir'), + stages_dir=config.get('stages_dir'), llm_api_key=config.get('llm_api_key'), llm_base_url=config.get('llm_base_url'), llm_model_name=config.get('llm_model_name'), @@ -50,159 +353,182 @@ def get_orchestrator_from_config(config: dict) -> APITestOrchestrator: # --- API 端点 --- @app.route('/') +@login_required # Protect the main page def serve_index(): + # Initialize DB if it doesn't exist when first accessing the app + # This is a simple way, for production you might want a separate init step. + if not os.path.exists(DATABASE): + init_db(force_create=True) return send_from_directory(app.static_folder, 'index.html') @app.route('/run-tests', methods=['POST']) +@login_required # Protect this endpoint def run_tests_endpoint(): + logger.info("Received request to run tests.") + + output_dir = None # To hold the path for report links + temp_spec_path = None # To hold the path for the uploaded spec file + try: - config_data = request.json - if not config_data: - return jsonify({"error": "Request body must be JSON"}), 400 + # The form is now sent as multipart/form-data + config_data = request.form.to_dict() + logger.info(f"Received config: {config_data}") - logger.info(f"接收到测试运行请求: {config_data}") + # Handle file upload + if 'api_spec_file' not in request.files: + logger.error("API spec file part is missing from the request.") + return jsonify({"error": "API spec file part is missing"}), 400 + + file = request.files['api_spec_file'] + if file.filename == '': + logger.error("No API spec file selected.") + return jsonify({"error": "No API spec file selected"}), 400 - # 校验必需参数 - if not config_data.get('base_url'): - return jsonify({"error": "'base_url' is required"}), 400 - if not config_data.get('yapi_file_path') and not config_data.get('swagger_file_path'): - return jsonify({"error": "Either 'yapi_file_path' or 'swagger_file_path' is required"}), 400 + if file: + filename = secure_filename(file.filename) + # Create a unique filename to avoid conflicts + unique_filename = f"{uuid.uuid4()}_{filename}" + temp_spec_path = os.path.join(app.config['UPLOAD_FOLDER'], unique_filename) + file.save(temp_spec_path) + logger.info(f"Saved uploaded spec file to {temp_spec_path}") + else: + # This case should ideally not be reached if the above checks are in place + return jsonify({"error": "Invalid file object received"}), 400 + # Create orchestrator from form data orchestrator = get_orchestrator_from_config(config_data) - summary = TestSummary() # 为本次运行创建新的摘要 + + # Prepare summary object + summary = TestSummary() + # Determine API spec type and parse the uploaded file + api_spec_type = config_data.get('api_spec_type', 'YAPI') + logger.info(f"API Spec Type: {api_spec_type}") + + parser = InputParser() parsed_spec = None - api_spec_type = "" - - if config_data.get('yapi_file_path'): - api_spec_type = "YAPI" - yapi_path = config_data['yapi_file_path'] - if not os.path.isabs(yapi_path): - yapi_path = os.path.join(os.getcwd(), yapi_path) # 假设相对路径相对于服务器工作目录 - if not os.path.exists(yapi_path): - return jsonify({"error": f"YAPI file not found: {yapi_path}"}), 400 - logger.info(f"解析YAPI文件: {yapi_path}") - parsed_spec = orchestrator.parser.parse_yapi_spec(yapi_path) - if not parsed_spec: - logger.error(f"解析YAPI文件失败: {yapi_path}") - return jsonify({"error": f"Failed to parse YAPI file: {yapi_path}"}), 500 + if api_spec_type == "YAPI": + parsed_spec = parser.parse_yapi_spec(temp_spec_path) + elif api_spec_type == "Swagger": + parsed_spec = parser.parse_swagger_spec(temp_spec_path) - elif config_data.get('swagger_file_path'): - api_spec_type = "Swagger/OpenAPI" - swagger_path = config_data['swagger_file_path'] - if not os.path.isabs(swagger_path): - swagger_path = os.path.join(os.getcwd(), swagger_path) # 假设相对路径 - if not os.path.exists(swagger_path): - return jsonify({"error": f"Swagger file not found: {swagger_path}"}), 400 - logger.info(f"解析Swagger/OpenAPI文件: {swagger_path}") - parsed_spec = orchestrator.parser.parse_swagger_spec(swagger_path) - if not parsed_spec: - logger.error(f"解析Swagger文件失败: {swagger_path}") - return jsonify({"error": f"Failed to parse Swagger file: {swagger_path}"}), 500 + if not parsed_spec: + error_msg = f"Failed to parse the uploaded {api_spec_type} file." + logger.error(error_msg) + return jsonify({"error": error_msg}), 400 + + logger.info("Successfully parsed API specification.") - # 执行测试用例 - logger.info(f"开始从已解析的 {api_spec_type} 规范执行测试用例...") + # Execute tests from parsed spec + logger.info(f"Starting test execution from parsed {api_spec_type} spec...") summary = orchestrator._execute_tests_from_parsed_spec( parsed_spec=parsed_spec, summary=summary, - categories=config_data.get('categories'), # 逗号分隔的字符串,需要转为列表 - tags=config_data.get('tags'), # 同上 + categories=config_data.get('categories').split(',') if config_data.get('categories') else None, + tags=config_data.get('tags').split(',') if config_data.get('tags') else None, custom_test_cases_dir=config_data.get('custom_test_cases_dir') ) - logger.info("测试用例执行完成。") + logger.info("Test case execution finished.") - # 执行场景测试 (如果指定了目录) - scenarios_dir = config_data.get('scenarios_dir') - if scenarios_dir and parsed_spec: - if not os.path.isabs(scenarios_dir): - scenarios_dir = os.path.join(os.getcwd(), scenarios_dir) - logger.info(f"开始执行API场景测试,目录: {scenarios_dir}") - orchestrator.run_scenarios_from_spec( - scenarios_dir=scenarios_dir, - parsed_spec=parsed_spec, - summary=summary - ) - logger.info("API场景测试执行完毕。") + # Execute test stages + logger.info("Starting stage execution...") + summary = orchestrator.run_stages_from_spec( + parsed_spec=parsed_spec, + summary=summary + ) + logger.info("Stage execution finished.") + + # Handle output and reporting + output_dir = config_data.get('output_dir', './test_reports') + if not os.path.isabs(output_dir): + output_dir = os.path.join(APP_ROOT, output_dir) - summary.finalize_summary() # 最终确定摘要,计算总时长等 - # summary.print_summary_to_console() # 后端服务通常不直接打印到控制台 + os.makedirs(output_dir, exist_ok=True) + summary_path = os.path.join(output_dir, "test_summary.json") + details_path = os.path.join(output_dir, "api_call_details.md") - # 可以在这里决定如何保存报告,例如保存到 output_dir (如果提供) - output_dir_path_str = config_data.get('output_dir') - main_report_file_path_str = "" - api_calls_output_path_str = "" - api_calls_filename = "api_call_details.md" - - if output_dir_path_str: - output_path = Path(output_dir_path_str) - output_path.mkdir(parents=True, exist_ok=True) - main_report_file_path = output_path / f"summary_report.json" # 默认保存为json - main_report_file_path_str = str(main_report_file_path) - with open(main_report_file_path, 'w', encoding='utf-8') as f: - f.write(summary.to_json(pretty=True)) - logger.info(f"主测试报告已保存到: {main_report_file_path}") - - # 保存API调用详情 - api_calls_output_path_str = str(output_path) - # (需要从 run_api_tests.py 移植 save_api_call_details_to_file 或类似功能) - # 暂时跳过保存 api_call_details 文件,因为 orchestrator.get_api_call_details() 需要被调用 - # 并且保存逻辑也需要移植。 - # save_api_call_details_to_file(orchestrator.get_api_call_details(), api_calls_output_path_str, api_calls_filename) + with open(summary_path, 'w', encoding='utf-8') as f: + f.write(summary.to_json(pretty=True)) + logger.info(f"Test summary saved to {summary_path}") + + save_api_call_details_to_file(orchestrator.get_api_call_details(), output_dir) + logger.info(f"API call details saved to {details_path}") return jsonify({ - "message": "测试执行完成。", "summary": summary.to_dict(), - "report_file": main_report_file_path_str, # 报告文件路径(如果保存了) - # "api_calls_file": api_calls_output_path_str + "/" + api_calls_filename # API调用详情文件路径 - }), 200 + "summary_report_path": f"/download/{os.path.basename(output_dir)}/test_summary.json", + "details_report_path": f"/download/{os.path.basename(output_dir)}/api_call_details.md" + }) except Exception as e: - logger.error(f"执行测试时发生错误: {e}\n{traceback.format_exc()}") - return jsonify({"error": f"执行测试时发生内部错误: {str(e)}"}), 500 + error_msg = f"An unexpected error occurred during testing: {traceback.format_exc()}" + logger.error(error_msg) + return jsonify({"error": error_msg}), 500 + finally: + # Clean up the uploaded file + if temp_spec_path and os.path.exists(temp_spec_path): + os.remove(temp_spec_path) + logger.info(f"Cleaned up temporary file: {temp_spec_path}") @app.route('/list-yapi-categories', methods=['POST']) +@login_required def list_yapi_categories_endpoint(): + if 'api_spec_file' not in request.files: + return jsonify({"error": "api_spec_file part is missing"}), 400 + + file = request.files['api_spec_file'] + if file.filename == '': + return jsonify({"error": "No file selected"}), 400 + + temp_spec_path = None try: - data = request.json - yapi_file = data.get('yapi_file_path') - if not yapi_file: - return jsonify({"error": "'yapi_file_path' is required"}), 400 - - if not os.path.isabs(yapi_file): - yapi_file = os.path.join(os.getcwd(), yapi_file) - if not os.path.exists(yapi_file): - return jsonify({"error": f"YAPI file not found: {yapi_file}"}), 400 + filename = secure_filename(file.filename) + unique_filename = f"{uuid.uuid4()}_{filename}" + temp_spec_path = os.path.join(app.config['UPLOAD_FOLDER'], unique_filename) + file.save(temp_spec_path) parser = InputParser() - parsed_yapi = parser.parse_yapi_spec(yapi_file) - if not parsed_yapi or not parsed_yapi.categories: + parsed_yapi = parser.parse_yapi_spec(temp_spec_path) + + if not parsed_yapi or not hasattr(parsed_yapi, 'categories') or not parsed_yapi.categories: return jsonify({"error": "Failed to parse YAPI categories or no categories found"}), 500 categories_list = [ - {"name": cat.get('name', '未命名'), "description": cat.get('desc', '无描述')} + { + "name": cat.get('name', '未命名'), + "description": cat.get('desc') if cat.get('desc') else cat.get('description') if cat.get('description') else '无描述' + } for cat in parsed_yapi.categories ] return jsonify(categories_list), 200 except Exception as e: - logger.error(f"列出YAPI分类时出错: {e}\n{traceback.format_exc()}") - return jsonify({"error": f"处理YAPI分类列表时出错: {str(e)}"}), 500 + logger.error(f"Error fetching YAPI categories: {traceback.format_exc()}") + return jsonify({"error": str(e)}), 500 + finally: + if temp_spec_path and os.path.exists(temp_spec_path): + os.remove(temp_spec_path) @app.route('/list-swagger-tags', methods=['POST']) +@login_required def list_swagger_tags_endpoint(): - try: - data = request.json - swagger_file = data.get('swagger_file_path') - if not swagger_file: - return jsonify({"error": "'swagger_file_path' is required"}), 400 + if 'api_spec_file' not in request.files: + return jsonify({"error": "api_spec_file part is missing"}), 400 + + file = request.files['api_spec_file'] + if file.filename == '': + return jsonify({"error": "No file selected"}), 400 - if not os.path.isabs(swagger_file): - swagger_file = os.path.join(os.getcwd(), swagger_file) - if not os.path.exists(swagger_file): - return jsonify({"error": f"Swagger file not found: {swagger_file}"}), 400 + temp_spec_path = None + try: + filename = secure_filename(file.filename) + unique_filename = f"{uuid.uuid4()}_{filename}" + temp_spec_path = os.path.join(app.config['UPLOAD_FOLDER'], unique_filename) + file.save(temp_spec_path) parser = InputParser() - parsed_swagger = parser.parse_swagger_spec(swagger_file) - if not parsed_swagger or not parsed_swagger.tags: + parsed_swagger = parser.parse_swagger_spec(temp_spec_path) + + if not parsed_swagger or not hasattr(parsed_swagger, 'tags') or not parsed_swagger.tags: return jsonify({"error": "Failed to parse Swagger tags or no tags found"}), 500 tags_list = [ @@ -211,9 +537,33 @@ def list_swagger_tags_endpoint(): ] return jsonify(tags_list), 200 except Exception as e: - logger.error(f"列出Swagger标签时出错: {e}\n{traceback.format_exc()}") - return jsonify({"error": f"处理Swagger标签列表时出错: {str(e)}"}), 500 + logger.error(f"Error fetching Swagger tags: {traceback.format_exc()}") + return jsonify({"error": str(e)}), 500 + finally: + if temp_spec_path and os.path.exists(temp_spec_path): + os.remove(temp_spec_path) + +@app.route('/download/') +@login_required +def download_file(filepath): + """Serve files from a designated reports directory.""" + # This is a simplified download endpoint. For production, consider: + # - More robust security checks on the filepath. + # - Configuring the reports directory from a central config. + reports_base_dir = os.path.join(APP_ROOT, 'test_reports') + + # Basic security check to prevent directory traversal + if '..' in filepath or os.path.isabs(filepath): + from flask import abort + abort(404) + + logger.info(f"Attempting to serve file: {filepath} from directory: {reports_base_dir}") + return send_from_directory(reports_base_dir, filepath, as_attachment=True) if __name__ == '__main__': # 注意:在生产环境中,应使用Gunicorn或uWSGI等WSGI服务器运行Flask应用 + # For initial setup, you might need to run the init_db function once. + # You can do this by running flask --app flask_app init-db in your terminal + # or by uncommenting the line below for the very first run: + # init_db(force_create=False) app.run(debug=True, host='0.0.0.0', port=5050) \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index a80e538..748bfab 100644 --- a/requirements.txt +++ b/requirements.txt @@ -15,4 +15,6 @@ prance[osv]>=23.0.0,<24.0.0 # 测试框架 (可选, 推荐) # pytest>=7.0.0,<8.0.0 # pytest-cov>=4.0.0,<5.0.0 -# httpx>=0.20.0,<0.28.0 # for testing API calls \ No newline at end of file +# httpx>=0.20.0,<0.28.0 # for testing API calls + +Flask-Cors>=3.0 \ No newline at end of file diff --git a/schema.sql b/schema.sql new file mode 100644 index 0000000..89c9d57 --- /dev/null +++ b/schema.sql @@ -0,0 +1,7 @@ +DROP TABLE IF EXISTS user; + +CREATE TABLE user ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + username TEXT UNIQUE NOT NULL, + password_hash TEXT NOT NULL +); \ No newline at end of file diff --git a/static/index.html b/static/index.html index 1edf0ca..9154223 100644 --- a/static/index.html +++ b/static/index.html @@ -12,7 +12,7 @@

测试配置

-
+
@@ -21,73 +21,85 @@
API 定义源 (选择一个)
- - - -
+ +
- - - -
+ +
+
+ +
+
+
-
- - -
-
- - -
-
- - -
+
+ 高级配置 (点击展开) +
+ + +
+
+ + +
+
+ + +
+
-
- LLM 配置 (可选) -
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
+
+ LLM 配置 (可选, 点击展开) +
+ LLM 配置 (可选) +
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
-

测试状态与结果

-
等待配置并运行测试...
-

-            
+            

测试日志与结果

+ + +
+ +
diff --git a/static/script.js b/static/script.js index cc0f23f..1f6e907 100644 --- a/static/script.js +++ b/static/script.js @@ -1,140 +1,139 @@ document.addEventListener('DOMContentLoaded', () => { - const form = document.getElementById('test-config-form'); - const statusArea = document.getElementById('status-area'); - const resultsOutput = document.getElementById('results-output'); - const reportLinkArea = document.getElementById('report-link-area'); + const form = document.getElementById('test-form'); + const logOutput = document.getElementById('log-output'); + const resultsContainer = document.getElementById('results-container'); + const loadSpecBtn = document.getElementById('load-spec-btn'); + const apiSpecFileInput = document.getElementById('api_spec_file'); + const apiSpecTypeSelect = document.getElementById('api_spec_type'); + const yapiCategoriesContainer = document.getElementById('yapi-categories-container'); + const swaggerTagsContainer = document.getElementById('swagger-tags-container'); + + // Make the log output area larger as per user request + if (logOutput) { + logOutput.rows = 25; + } + + // Event listener for the new "Load Categories/Tags" button + if (loadSpecBtn) { + loadSpecBtn.addEventListener('click', async () => { + const specType = apiSpecTypeSelect.value; + const file = apiSpecFileInput.files[0]; + + if (!file) { + alert('请先选择一个 API 规范文件。'); + return; + } + + const formData = new FormData(); + formData.append('api_spec_file', file); + + let url = ''; + let container = null; + + if (specType === 'YAPI') { + url = '/list-yapi-categories'; + container = yapiCategoriesContainer; + swaggerTagsContainer.style.display = 'none'; + yapiCategoriesContainer.style.display = 'block'; + } else { // Swagger + url = '/list-swagger-tags'; + container = swaggerTagsContainer; + yapiCategoriesContainer.style.display = 'none'; + swaggerTagsContainer.style.display = 'block'; + } + + container.innerHTML = '

正在加载...

'; + + try { + const response = await fetch(url, { + method: 'POST', + body: formData, // Send FormData directly + }); + + if (!response.ok) { + const errorData = await response.json().catch(() => ({ error: '无法解析错误响应' })); + throw new Error(errorData.error || `请求 ${specType} 分类/标签时出错`); + } + + const data = await response.json(); + renderItemsList(container, data, specType); // Using a simplified renderer + } catch (error) { + console.error(`请求${specType}分类时出错:`, error); + container.innerHTML = `

加载失败: ${error.message}

`; + } + }); + } form.addEventListener('submit', async (event) => { event.preventDefault(); - statusArea.textContent = '正在运行测试,请稍候...'; - resultsOutput.textContent = ''; - reportLinkArea.innerHTML = ''; - + logOutput.value = '正在开始测试...\n'; + resultsContainer.innerHTML = ''; + + // FormData will correctly handle all form fields, including the file upload const formData = new FormData(form); - const config = {}; - formData.forEach((value, key) => { - // 处理复选框 - if (key.startsWith('use_llm_for_')) { - config[key] = form.elements[key].checked; - } else if (value.trim() !== '') { // 只添加非空值 - config[key] = value.trim(); - } - }); - - // 如果复选框未被选中,FormData 不会包含它们,所以要确保它们是 false - ['use_llm_for_request_body', 'use_llm_for_path_params', 'use_llm_for_query_params', 'use_llm_for_headers'].forEach(key => { - if (!(key in config)) { - config[key] = false; - } - }); - - // 从 YAPI 分类和 Swagger 标签中获取选中的项 - const selectedYapiCategories = Array.from(document.querySelectorAll('#yapi-categories-container input[type="checkbox"]:checked')) - .map(cb => cb.value); - if (selectedYapiCategories.length > 0) { - config['categories'] = selectedYapiCategories.join(','); - } - - const selectedSwaggerTags = Array.from(document.querySelectorAll('#swagger-tags-container input[type="checkbox"]:checked')) - .map(cb => cb.value); - if (selectedSwaggerTags.length > 0) { - config['tags'] = selectedSwaggerTags.join(','); - } - + try { const response = await fetch('/run-tests', { method: 'POST', - headers: { - 'Content-Type': 'application/json' - }, - body: JSON.stringify(config) + // For FormData, the browser sets the Content-Type to multipart/form-data with the correct boundary. + // Do not set the 'Content-Type' header manually. + body: formData, }); - + const result = await response.json(); - - if (response.ok) { - statusArea.textContent = `测试完成: ${result.message || '成功'}`; - resultsOutput.textContent = JSON.stringify(result.summary, null, 2); - if (result.report_file) { - reportLinkArea.innerHTML = `

测试报告已保存到: ${result.report_file}

`; - } - } else { - statusArea.textContent = `测试失败: ${result.error || '未知错误'}`; - resultsOutput.textContent = JSON.stringify(result, null, 2); + + if (!response.ok) { + // Try to parse the error, provide a fallback message. + const errorMessage = result.error || '运行测试时发生未知错误'; + logOutput.value += `\n错误: ${errorMessage}`; + throw new Error(errorMessage); } + + // Restore summary to the log output + logOutput.value += '\n测试执行完成。\n\n'; + logOutput.value += '--- 测试摘要 ---\n'; + logOutput.value += JSON.stringify(result.summary, null, 2); + + displayResults(result); + } catch (error) { - statusArea.textContent = '运行测试时发生网络错误或服务器内部错误。'; - resultsOutput.textContent = error.toString(); - console.error('运行测试出错:', error); + console.error('运行测试时捕获到错误:', error); + logOutput.value += `\n\n发生严重错误: ${error.message}`; + resultsContainer.innerHTML = `

测试运行失败: ${error.message}

`; } }); + + // A simplified function to render categories/tags as a list + function renderItemsList(container, items, type) { + if (!items || items.length === 0) { + container.innerHTML = '

未找到任何项。

'; + return; + } + let html = `

${type} ${type === 'YAPI' ? '分类' : '标签'}:

    `; + items.forEach(item => { + html += `
  • ${item.name}: ${item.description || '无描述'}
  • `; + }); + html += '
'; + container.innerHTML = html; + } + + function displayResults(result) { + // Per user request, only show download links and remove the summary view. + let linksHtml = '

下载报告

'; + if (result.summary_report_path) { + linksHtml += `

摘要报告 (JSON)

`; + } + if (result.details_report_path) { + linksHtml += `

API 调用详情 (Markdown)

`; + } + + if (!result.summary_report_path && !result.details_report_path) { + linksHtml += '

没有可用的报告文件。

'; + } + + resultsContainer.innerHTML = linksHtml; + } }); -async function fetchYapiCategories() { - const yapiFilePath = document.getElementById('yapi_file_path').value; - const container = document.getElementById('yapi-categories-container'); - container.innerHTML = '正在加载分类...'; - - if (!yapiFilePath) { - container.innerHTML = '

请输入YAPI文件路径。

'; - return; - } - - try { - const response = await fetch('/list-yapi-categories', { - method: 'POST', - headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ yapi_file_path: yapiFilePath }) - }); - const categories = await response.json(); - if (response.ok) { - renderCheckboxes(container, categories, 'yapi_category'); - } else { - container.innerHTML = `

加载YAPI分类失败: ${categories.error || '未知错误'}

`; - } - } catch (error) { - container.innerHTML = `

请求YAPI分类时出错: ${error}

`; - } -} - -async function fetchSwaggerTags() { - const swaggerFilePath = document.getElementById('swagger_file_path').value; - const container = document.getElementById('swagger-tags-container'); - container.innerHTML = '正在加载标签...'; - - if (!swaggerFilePath) { - container.innerHTML = '

请输入Swagger文件路径。

'; - return; - } - - try { - const response = await fetch('/list-swagger-tags', { - method: 'POST', - headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ swagger_file_path: swaggerFilePath }) - }); - const tags = await response.json(); - if (response.ok) { - renderCheckboxes(container, tags, 'swagger_tag'); - } else { - container.innerHTML = `

加载Swagger标签失败: ${tags.error || '未知错误'}

`; - } - } catch (error) { - container.innerHTML = `

请求Swagger标签时出错: ${error}

`; - } -} - -function renderCheckboxes(container, items, groupName) { - if (!items || items.length === 0) { - container.innerHTML = '

未找到任何项。

'; - return; - } - let html = items.map((item, index) => { - const id = `${groupName}_${index}`; - return `
- - -
`; - }).join(''); - container.innerHTML = html; -} \ No newline at end of file +// The old functions fetchYapiCategories, fetchSwaggerTags, and renderCheckboxes are no longer needed +// and should be removed if they exist elsewhere in this file. \ No newline at end of file diff --git a/test_reports/api_call_details.md b/test_reports/api_call_details.md index a2acb6c..a37c1f2 100644 --- a/test_reports/api_call_details.md +++ b/test_reports/api_call_details.md @@ -1,22 +1,8 @@ -## `POST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version` -**cURL Command:** -```sh -curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version -``` -### Request Details -- **Method:** `POST` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version` -- **Headers:** -```json -{ +# API 调用详情记录\n\n
\nPOST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version - 状态: 200 - 耗时: 48.96ms\n\n#### 请求 (Request)\n- **Method:** `POST`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version`\n- **Headers:**\n```json\n{ "tenant-id": "header_val_tenant-id", "Content-Type": "application/json", "Accept": "application/json" -} - ``` -- **Body:** -```json -{ +}\n```\n- **Request Body:**\n```json\n{ "isSearchCount": true, "query": { "dataRegions": [ @@ -54,78 +40,35 @@ curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, }, "sort": {} } -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0706s` -- **Headers:** -```json -{ +}\n```\n- **cURL Command:**\n```bash\ncurl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 48.96 ms\n- **Response Headers:**\n```json\n{ "Vary": "Origin", "Access-Control-Allow-Origin": "*", "Content-Type": "application/json; charset=utf-8", - "Content-Length": "433", + "Content-Length": "179", "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:02 GMT", + "Date": "Fri, 06 Jun 2025 06:51:48 GMT", "Connection": "keep-alive", "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 21, - "message": "in enim ut voluptate dolor", +}\n```\n- **Response Body:**\n```json\n{ + "code": 60, + "message": "exercitation in laborum", "data": { - "total": 97, + "total": 9, "list": [ - { - "dsid": "78", - "dataRegion": "enim Ut occaecat", - "gasReleaseMon": null, - "gasReleaseYear": null, - "releaseGasCum": null - }, { "dsid": "88", - "dataRegion": "Lorem ipsum nulla exercitation laborum", - "gasReleaseMon": null, - "gasReleaseYear": null, - "releaseGasCum": null - }, - { - "dsid": "42", - "dataRegion": "do dolor dolore ad", + "dataRegion": "dolor enim", "gasReleaseMon": null, "gasReleaseYear": null, "releaseGasCum": null } ] } -} - ``` - ---- -## `POST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version` -**cURL Command:** -```sh -curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version -``` -### Request Details -- **Method:** `POST` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version` -- **Headers:** -```json -{ +}\n```\n\n
\n\n---\n\n
\nPOST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version - 状态: 200 - 耗时: 23.01ms\n\n#### 请求 (Request)\n- **Method:** `POST`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version`\n- **Headers:**\n```json\n{ "tenant-id": "header_val_tenant-id", "Content-Type": "application/json", "Accept": "application/json" -} - ``` -- **Body:** -```json -{ +}\n```\n- **Request Body:**\n```json\n{ "isSearchCount": true, "query": { "dataRegions": [ @@ -163,588 +106,42 @@ curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, }, "sort": {} } -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0229s` -- **Headers:** -```json -{ +}\n```\n- **cURL Command:**\n```bash\ncurl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 23.01 ms\n- **Response Headers:**\n```json\n{ "Vary": "Origin", "Access-Control-Allow-Origin": "*", "Content-Type": "application/json; charset=utf-8", - "Content-Length": "287", + "Content-Length": "288", "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:02 GMT", + "Date": "Fri, 06 Jun 2025 06:51:48 GMT", "Connection": "keep-alive", "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 89, - "message": "aliqua irure quis commodo fugiat", +}\n```\n- **Response Body:**\n```json\n{ + "code": 4, + "message": "Ut officia deserunt", "data": { - "total": 1, + "total": 76, "list": [ { - "dsid": "75", - "dataRegion": "quis qui", - "gasReleaseMon": null, - "gasReleaseYear": null, - "releaseGasCum": null - }, - { - "dsid": "89", - "dataRegion": "nostrud", - "gasReleaseMon": null, - "gasReleaseYear": null, - "releaseGasCum": null - } - ] - } -} - ``` - ---- -## `POST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version` -**cURL Command:** -```sh -curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version -``` -### Request Details -- **Method:** `POST` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version` -- **Headers:** -```json -{ - "tenant-id": "header_val_tenant-id", - "Content-Type": "application/json", - "Accept": "application/json" -} - ``` -- **Body:** -```json -{ - "isSearchCount": true, - "query": { - "dataRegions": [ - "example_string" - ], - "fields": [ - "example_string" - ], - "filter": { - "key": "example_string", - "logic": "example_string", - "realValue": [ - {} - ], - "singleValue": {}, - "subFilter": [ - "example_string" - ], - "symbol": "example_string" - }, - "groupFields": [ - "example_string" - ], - "groupFilter": { - "key": "example_string", - "logic": "example_string", - "realValue": [ - {} - ], - "singleValue": {}, - "subFilter": [ - "example_string" - ], - "symbol": "example_string" - }, - "sort": {} - } -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0202s` -- **Headers:** -```json -{ - "Vary": "Origin", - "Access-Control-Allow-Origin": "*", - "Content-Type": "application/json; charset=utf-8", - "Content-Length": "196", - "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:02 GMT", - "Connection": "keep-alive", - "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 78, - "message": "reprehenderit adipisicing", - "data": { - "total": 22, - "list": [ - { - "dsid": "34", - "dataRegion": "cupidatat ad in aute est", - "gasReleaseMon": null, - "gasReleaseYear": null, - "releaseGasCum": null - } - ] - } -} - ``` - ---- -## `POST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version` -**cURL Command:** -```sh -curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version -``` -### Request Details -- **Method:** `POST` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version` -- **Headers:** -```json -{ - "tenant-id": "header_val_tenant-id", - "Content-Type": "application/json", - "Accept": "application/json" -} - ``` -- **Body:** -```json -{ - "isSearchCount": true, - "query": { - "dataRegions": [ - "example_string" - ], - "fields": [ - "example_string" - ], - "filter": { - "key": "example_string", - "logic": "example_string", - "realValue": [ - {} - ], - "singleValue": {}, - "subFilter": [ - "example_string" - ], - "symbol": "example_string" - }, - "groupFields": [ - "example_string" - ], - "groupFilter": { - "key": "example_string", - "logic": "example_string", - "realValue": [ - {} - ], - "singleValue": {}, - "subFilter": [ - "example_string" - ], - "symbol": "example_string" - }, - "sort": {} - } -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0159s` -- **Headers:** -```json -{ - "Vary": "Origin", - "Access-Control-Allow-Origin": "*", - "Content-Type": "application/json; charset=utf-8", - "Content-Length": "410", - "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:02 GMT", - "Connection": "keep-alive", - "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 65, - "message": "officia", - "data": { - "total": 13, - "list": [ - { - "dsid": "64", - "dataRegion": "officia nisi", - "gasReleaseMon": null, - "gasReleaseYear": null, - "releaseGasCum": null - }, - { - "dsid": "45", - "dataRegion": "est sint in commodo Excepteur", - "gasReleaseMon": null, - "gasReleaseYear": null, - "releaseGasCum": null - }, - { - "dsid": "87", - "dataRegion": "sit eu qui voluptate veniam", - "gasReleaseMon": null, - "gasReleaseYear": null, - "releaseGasCum": null - } - ] - } -} - ``` - ---- -## `POST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version` -**cURL Command:** -```sh -curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 488' -d '{"isSearchCount": "not-a-boolean", "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version -``` -### Request Details -- **Method:** `POST` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version` -- **Headers:** -```json -{ - "tenant-id": "header_val_tenant-id", - "Content-Type": "application/json", - "Accept": "application/json" -} - ``` -- **Body:** -```json -{ - "isSearchCount": "not-a-boolean", - "query": { - "dataRegions": [ - "example_string" - ], - "fields": [ - "example_string" - ], - "filter": { - "key": "example_string", - "logic": "example_string", - "realValue": [ - {} - ], - "singleValue": {}, - "subFilter": [ - "example_string" - ], - "symbol": "example_string" - }, - "groupFields": [ - "example_string" - ], - "groupFilter": { - "key": "example_string", - "logic": "example_string", - "realValue": [ - {} - ], - "singleValue": {}, - "subFilter": [ - "example_string" - ], - "symbol": "example_string" - }, - "sort": {} - } -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0156s` -- **Headers:** -```json -{ - "Vary": "Origin", - "Access-Control-Allow-Origin": "*", - "Content-Type": "application/json; charset=utf-8", - "Content-Length": "285", - "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:02 GMT", - "Connection": "keep-alive", - "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 83, - "message": "enim tempor qui cupidatat Excepteur", - "data": { - "total": 92, - "list": [ - { - "dsid": "47", - "dataRegion": "nisi eu", - "gasReleaseMon": null, - "gasReleaseYear": null, - "releaseGasCum": null - }, - { - "dsid": "2", - "dataRegion": "sed", - "gasReleaseMon": null, - "gasReleaseYear": null, - "releaseGasCum": null - } - ] - } -} - ``` - ---- -## `POST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version` -**cURL Command:** -```sh -curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version -``` -### Request Details -- **Method:** `POST` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version` -- **Headers:** -```json -{ - "tenant-id": "header_val_tenant-id", - "Content-Type": "application/json", - "Accept": "application/json" -} - ``` -- **Body:** -```json -{ - "isSearchCount": true, - "query": { - "dataRegions": [ - "example_string" - ], - "fields": [ - "example_string" - ], - "filter": { - "key": "example_string", - "logic": "example_string", - "realValue": [ - {} - ], - "singleValue": {}, - "subFilter": [ - "example_string" - ], - "symbol": "example_string" - }, - "groupFields": [ - "example_string" - ], - "groupFilter": { - "key": "example_string", - "logic": "example_string", - "realValue": [ - {} - ], - "singleValue": {}, - "subFilter": [ - "example_string" - ], - "symbol": "example_string" - }, - "sort": {} - } -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0165s` -- **Headers:** -```json -{ - "Vary": "Origin", - "Access-Control-Allow-Origin": "*", - "Content-Type": "application/json; charset=utf-8", - "Content-Length": "171", - "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:02 GMT", - "Connection": "keep-alive", - "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 45, - "message": "non sit", - "data": { - "total": 5, - "list": [ - { - "dsid": "87", - "dataRegion": "reprehenderit esse", - "gasReleaseMon": null, - "gasReleaseYear": null, - "releaseGasCum": null - } - ] - } -} - ``` - ---- -## `POST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version` -**cURL Command:** -```sh -curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version -``` -### Request Details -- **Method:** `POST` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version` -- **Headers:** -```json -{ - "tenant-id": "header_val_tenant-id", - "Content-Type": "application/json", - "Accept": "application/json" -} - ``` -- **Body:** -```json -{ - "isSearchCount": true, - "query": { - "dataRegions": [ - "example_string" - ], - "fields": [ - "example_string" - ], - "filter": { - "key": "example_string", - "logic": "example_string", - "realValue": [ - {} - ], - "singleValue": {}, - "subFilter": [ - "example_string" - ], - "symbol": "example_string" - }, - "groupFields": [ - "example_string" - ], - "groupFilter": { - "key": "example_string", - "logic": "example_string", - "realValue": [ - {} - ], - "singleValue": {}, - "subFilter": [ - "example_string" - ], - "symbol": "example_string" - }, - "sort": {} - } -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0157s` -- **Headers:** -```json -{ - "Vary": "Origin", - "Access-Control-Allow-Origin": "*", - "Content-Type": "application/json; charset=utf-8", - "Content-Length": "382", - "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:02 GMT", - "Connection": "keep-alive", - "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 93, - "message": "in", - "data": { - "total": 83, - "list": [ - { - "dsid": "51", - "dataRegion": "anim", - "gasReleaseMon": null, - "gasReleaseYear": null, - "releaseGasCum": null - }, - { - "dsid": "23", - "dataRegion": "Excepteur laboris", + "dsid": "14", + "dataRegion": "minim", "gasReleaseMon": null, "gasReleaseYear": null, "releaseGasCum": null }, { "dsid": "15", - "dataRegion": "ut magna eu fugiat velit", + "dataRegion": "consectetur cupidatat in", "gasReleaseMon": null, "gasReleaseYear": null, "releaseGasCum": null } ] } -} - ``` - ---- -## `POST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize` -**cURL Command:** -```sh -curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize' -``` -### Request Details -- **Method:** `POST` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize` -- **Headers:** -```json -{ +}\n```\n\n
\n\n---\n\n
\nPOST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version - 状态: 200 - 耗时: 18.97ms\n\n#### 请求 (Request)\n- **Method:** `POST`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version`\n- **Headers:**\n```json\n{ "tenant-id": "header_val_tenant-id", "Content-Type": "application/json", "Accept": "application/json" -} - ``` -- **Query Parameters:** -```json -{ - "pageNo": "query_val_pageNo", - "pageSize": "query_val_pageSize" -} - ``` -- **Body:** -```json -{ +}\n```\n- **Request Body:**\n```json\n{ "isSearchCount": true, "query": { "dataRegions": [ @@ -782,71 +179,35 @@ curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, }, "sort": {} } -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0149s` -- **Headers:** -```json -{ +}\n```\n- **cURL Command:**\n```bash\ncurl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 18.97 ms\n- **Response Headers:**\n```json\n{ "Vary": "Origin", "Access-Control-Allow-Origin": "*", "Content-Type": "application/json; charset=utf-8", - "Content-Length": "189", + "Content-Length": "195", "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:02 GMT", + "Date": "Fri, 06 Jun 2025 06:51:48 GMT", "Connection": "keep-alive", "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 70, - "message": "ullamco ea qui ex", +}\n```\n- **Response Body:**\n```json\n{ + "code": 46, + "message": "est minim tempor officia", "data": { - "total": 10, + "total": 52, "list": [ { - "dsid": "56", - "dataRegion": "occaecat mollit est ipsum", + "dsid": "54", + "dataRegion": "commodo elit sunt cillum", "gasReleaseMon": null, "gasReleaseYear": null, "releaseGasCum": null } ] } -} - ``` - ---- -## `POST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize` -**cURL Command:** -```sh -curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize' -``` -### Request Details -- **Method:** `POST` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize` -- **Headers:** -```json -{ +}\n```\n\n
\n\n---\n\n
\nPOST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version - 状态: 200 - 耗时: 22.28ms\n\n#### 请求 (Request)\n- **Method:** `POST`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version`\n- **Headers:**\n```json\n{ "tenant-id": "header_val_tenant-id", "Content-Type": "application/json", "Accept": "application/json" -} - ``` -- **Query Parameters:** -```json -{ - "pageNo": "query_val_pageNo", - "pageSize": "query_val_pageSize" -} - ``` -- **Body:** -```json -{ +}\n```\n- **Request Body:**\n```json\n{ "isSearchCount": true, "query": { "dataRegions": [ @@ -884,194 +245,1508 @@ curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, }, "sort": {} } -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0137s` -- **Headers:** -```json -{ +}\n```\n- **cURL Command:**\n```bash\ncurl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 22.28 ms\n- **Response Headers:**\n```json\n{ "Vary": "Origin", "Access-Control-Allow-Origin": "*", "Content-Type": "application/json; charset=utf-8", - "Content-Length": "432", + "Content-Length": "186", "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:02 GMT", + "Date": "Fri, 06 Jun 2025 06:51:48 GMT", "Connection": "keep-alive", "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 70, - "message": "ad labore commodo deserunt", +}\n```\n- **Response Body:**\n```json\n{ + "code": 30, + "message": "veniam pariatur voluptate", "data": { - "total": 35, + "total": 46, "list": [ { - "dsid": "7", - "dataRegion": "anim laboris quis", + "dsid": "43", + "dataRegion": "dolore laborum", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + } + ] + } +}\n```\n\n
\n\n---\n\n
\nPOST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version - 状态: 200 - 耗时: 18.03ms\n\n#### 请求 (Request)\n- **Method:** `POST`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version`\n- **Headers:**\n```json\n{ + "tenant-id": "header_val_tenant-id", + "Content-Type": "application/json", + "Accept": "application/json" +}\n```\n- **Request Body:**\n```json\n{ + "isSearchCount": "not-a-boolean", + "query": { + "dataRegions": [ + "example_string" + ], + "fields": [ + "example_string" + ], + "filter": { + "key": "example_string", + "logic": "example_string", + "realValue": [ + {} + ], + "singleValue": {}, + "subFilter": [ + "example_string" + ], + "symbol": "example_string" + }, + "groupFields": [ + "example_string" + ], + "groupFilter": { + "key": "example_string", + "logic": "example_string", + "realValue": [ + {} + ], + "singleValue": {}, + "subFilter": [ + "example_string" + ], + "symbol": "example_string" + }, + "sort": {} + } +}\n```\n- **cURL Command:**\n```bash\ncurl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 488' -d '{"isSearchCount": "not-a-boolean", "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 18.03 ms\n- **Response Headers:**\n```json\n{ + "Vary": "Origin", + "Access-Control-Allow-Origin": "*", + "Content-Type": "application/json; charset=utf-8", + "Content-Length": "294", + "success": "false", + "Date": "Fri, 06 Jun 2025 06:51:48 GMT", + "Connection": "keep-alive", + "Keep-Alive": "timeout=5" +}\n```\n- **Response Body:**\n```json\n{ + "code": 95, + "message": "ut anim irure ex", + "data": { + "total": 57, + "list": [ + { + "dsid": "88", + "dataRegion": "commodo dolore", "gasReleaseMon": null, "gasReleaseYear": null, "releaseGasCum": null }, { - "dsid": "20", - "dataRegion": "mollit cupidatat est id", + "dsid": "89", + "dataRegion": "cupidatat ut nisi ipsum", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + } + ] + } +}\n```\n\n
\n\n---\n\n
\nPOST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version - 状态: 200 - 耗时: 14.94ms\n\n#### 请求 (Request)\n- **Method:** `POST`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version`\n- **Headers:**\n```json\n{ + "tenant-id": "header_val_tenant-id", + "Content-Type": "application/json", + "Accept": "application/json" +}\n```\n- **Request Body:**\n```json\n{ + "isSearchCount": true, + "query": { + "dataRegions": [ + "example_string" + ], + "fields": [ + "example_string" + ], + "filter": { + "key": "example_string", + "logic": "example_string", + "realValue": [ + {} + ], + "singleValue": {}, + "subFilter": [ + "example_string" + ], + "symbol": "example_string" + }, + "groupFields": [ + "example_string" + ], + "groupFilter": { + "key": "example_string", + "logic": "example_string", + "realValue": [ + {} + ], + "singleValue": {}, + "subFilter": [ + "example_string" + ], + "symbol": "example_string" + }, + "sort": {} + } +}\n```\n- **cURL Command:**\n```bash\ncurl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 14.94 ms\n- **Response Headers:**\n```json\n{ + "Vary": "Origin", + "Access-Control-Allow-Origin": "*", + "Content-Type": "application/json; charset=utf-8", + "Content-Length": "415", + "success": "false", + "Date": "Fri, 06 Jun 2025 06:51:48 GMT", + "Connection": "keep-alive", + "Keep-Alive": "timeout=5" +}\n```\n- **Response Body:**\n```json\n{ + "code": 34, + "message": "ullamco", + "data": { + "total": 57, + "list": [ + { + "dsid": "55", + "dataRegion": "Duis nisi exercitation aute ad", "gasReleaseMon": null, "gasReleaseYear": null, "releaseGasCum": null }, + { + "dsid": "96", + "dataRegion": "est et", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + }, + { + "dsid": "26", + "dataRegion": "adipisicing ullamco sit elit deserunt", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + } + ] + } +}\n```\n\n
\n\n---\n\n
\nPOST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version - 状态: 200 - 耗时: 19.05ms\n\n#### 请求 (Request)\n- **Method:** `POST`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version`\n- **Headers:**\n```json\n{ + "tenant-id": "header_val_tenant-id", + "Content-Type": "application/json", + "Accept": "application/json" +}\n```\n- **Request Body:**\n```json\n{ + "isSearchCount": true, + "query": { + "dataRegions": [ + "example_string" + ], + "fields": [ + "example_string" + ], + "filter": { + "key": "example_string", + "logic": "example_string", + "realValue": [ + {} + ], + "singleValue": {}, + "subFilter": [ + "example_string" + ], + "symbol": "example_string" + }, + "groupFields": [ + "example_string" + ], + "groupFilter": { + "key": "example_string", + "logic": "example_string", + "realValue": [ + {} + ], + "singleValue": {}, + "subFilter": [ + "example_string" + ], + "symbol": "example_string" + }, + "sort": {} + } +}\n```\n- **cURL Command:**\n```bash\ncurl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 19.05 ms\n- **Response Headers:**\n```json\n{ + "Vary": "Origin", + "Access-Control-Allow-Origin": "*", + "Content-Type": "application/json; charset=utf-8", + "Content-Length": "336", + "success": "false", + "Date": "Fri, 06 Jun 2025 06:51:48 GMT", + "Connection": "keep-alive", + "Keep-Alive": "timeout=5" +}\n```\n- **Response Body:**\n```json\n{ + "code": 23, + "message": "voluptate incididunt laboris in consequat", + "data": { + "total": 63, + "list": [ + { + "dsid": "91", + "dataRegion": "Ut Duis occaecat cillum", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + }, + { + "dsid": "64", + "dataRegion": "tempor sint eiusmod et deserunt", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + } + ] + } +}\n```\n\n
\n\n---\n\n
\nPOST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0 - 状态: 200 - 耗时: 15.13ms\n\n#### 请求 (Request)\n- **Method:** `POST`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0`\n- **Headers:**\n```json\n{ + "tenant-id": "header_val_tenant-id", + "Content-Type": "application/json", + "Accept": "application/json" +}\n```\n- **Query Parameters:**\n```json\n{ + "pageNo": "query_val_pageNo", + "pageSize": "query_val_pageSize" +}\n```\n- **Request Body:**\n```json\n{ + "isSearchCount": true, + "query": { + "dataRegions": [ + "example_string" + ], + "fields": [ + "example_string" + ], + "filter": { + "key": "example_string", + "logic": "example_string", + "realValue": [ + {} + ], + "singleValue": {}, + "subFilter": [ + "example_string" + ], + "symbol": "example_string" + }, + "groupFields": [ + "example_string" + ], + "groupFilter": { + "key": "example_string", + "logic": "example_string", + "realValue": [ + {} + ], + "singleValue": {}, + "subFilter": [ + "example_string" + ], + "symbol": "example_string" + }, + "sort": {} + } +}\n```\n- **cURL Command:**\n```bash\ncurl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize'\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 15.13 ms\n- **Response Headers:**\n```json\n{ + "Vary": "Origin", + "Access-Control-Allow-Origin": "*", + "Content-Type": "application/json; charset=utf-8", + "Content-Length": "303", + "success": "false", + "Date": "Fri, 06 Jun 2025 06:51:48 GMT", + "Connection": "keep-alive", + "Keep-Alive": "timeout=5" +}\n```\n- **Response Body:**\n```json\n{ + "code": 23, + "message": "reprehenderit qui in aliqua velit", + "data": { + "total": 8, + "list": [ + { + "dsid": "88", + "dataRegion": "cupidatat", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + }, + { + "dsid": "31", + "dataRegion": "Ut adipisicing dolore", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + } + ] + } +}\n```\n\n
\n\n---\n\n
\nPOST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0 - 状态: 200 - 耗时: 16.27ms\n\n#### 请求 (Request)\n- **Method:** `POST`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0`\n- **Headers:**\n```json\n{ + "tenant-id": "header_val_tenant-id", + "Content-Type": "application/json", + "Accept": "application/json" +}\n```\n- **Query Parameters:**\n```json\n{ + "pageNo": "query_val_pageNo", + "pageSize": "query_val_pageSize" +}\n```\n- **Request Body:**\n```json\n{ + "isSearchCount": true, + "query": { + "dataRegions": [ + "example_string" + ], + "fields": [ + "example_string" + ], + "filter": { + "key": "example_string", + "logic": "example_string", + "realValue": [ + {} + ], + "singleValue": {}, + "subFilter": [ + "example_string" + ], + "symbol": "example_string" + }, + "groupFields": [ + "example_string" + ], + "groupFilter": { + "key": "example_string", + "logic": "example_string", + "realValue": [ + {} + ], + "singleValue": {}, + "subFilter": [ + "example_string" + ], + "symbol": "example_string" + }, + "sort": {} + } +}\n```\n- **cURL Command:**\n```bash\ncurl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize'\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 16.27 ms\n- **Response Headers:**\n```json\n{ + "Vary": "Origin", + "Access-Control-Allow-Origin": "*", + "Content-Type": "application/json; charset=utf-8", + "Content-Length": "320", + "success": "false", + "Date": "Fri, 06 Jun 2025 06:51:48 GMT", + "Connection": "keep-alive", + "Keep-Alive": "timeout=5" +}\n```\n- **Response Body:**\n```json\n{ + "code": 46, + "message": "adipisicing aute mollit nostrud fugiat", + "data": { + "total": 58, + "list": [ + { + "dsid": "47", + "dataRegion": "et nostrud eiusmod voluptate dolore", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + }, + { + "dsid": "47", + "dataRegion": "cillum", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + } + ] + } +}\n```\n\n
\n\n---\n\n
\nPOST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0 - 状态: 200 - 耗时: 15.63ms\n\n#### 请求 (Request)\n- **Method:** `POST`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0`\n- **Headers:**\n```json\n{ + "tenant-id": "header_val_tenant-id", + "Content-Type": "application/json", + "Accept": "application/json" +}\n```\n- **Query Parameters:**\n```json\n{ + "pageNo": "query_val_pageNo", + "pageSize": "query_val_pageSize" +}\n```\n- **Request Body:**\n```json\n{ + "isSearchCount": true, + "query": { + "dataRegions": [ + "example_string" + ], + "fields": [ + "example_string" + ], + "filter": { + "key": "example_string", + "logic": "example_string", + "realValue": [ + {} + ], + "singleValue": {}, + "subFilter": [ + "example_string" + ], + "symbol": "example_string" + }, + "groupFields": [ + "example_string" + ], + "groupFilter": { + "key": "example_string", + "logic": "example_string", + "realValue": [ + {} + ], + "singleValue": {}, + "subFilter": [ + "example_string" + ], + "symbol": "example_string" + }, + "sort": {} + } +}\n```\n- **cURL Command:**\n```bash\ncurl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize'\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 15.63 ms\n- **Response Headers:**\n```json\n{ + "Vary": "Origin", + "Access-Control-Allow-Origin": "*", + "Content-Type": "application/json; charset=utf-8", + "Content-Length": "165", + "success": "false", + "Date": "Fri, 06 Jun 2025 06:51:48 GMT", + "Connection": "keep-alive", + "Keep-Alive": "timeout=5" +}\n```\n- **Response Body:**\n```json\n{ + "code": 42, + "message": "aliqua et nisi", + "data": { + "total": 28, + "list": [ + { + "dsid": "26", + "dataRegion": "aute", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + } + ] + } +}\n```\n\n
\n\n---\n\n
\nPOST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0 - 状态: 200 - 耗时: 15.63ms\n\n#### 请求 (Request)\n- **Method:** `POST`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0`\n- **Headers:**\n```json\n{ + "tenant-id": "header_val_tenant-id", + "Content-Type": "application/json", + "Accept": "application/json" +}\n```\n- **Query Parameters:**\n```json\n{ + "pageNo": 12345, + "pageSize": "query_val_pageSize" +}\n```\n- **Request Body:**\n```json\n{ + "isSearchCount": true, + "query": { + "dataRegions": [ + "example_string" + ], + "fields": [ + "example_string" + ], + "filter": { + "key": "example_string", + "logic": "example_string", + "realValue": [ + {} + ], + "singleValue": {}, + "subFilter": [ + "example_string" + ], + "symbol": "example_string" + }, + "groupFields": [ + "example_string" + ], + "groupFilter": { + "key": "example_string", + "logic": "example_string", + "realValue": [ + {} + ], + "singleValue": {}, + "subFilter": [ + "example_string" + ], + "symbol": "example_string" + }, + "sort": {} + } +}\n```\n- **cURL Command:**\n```bash\ncurl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=12345&pageSize=query_val_pageSize'\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 15.63 ms\n- **Response Headers:**\n```json\n{ + "Vary": "Origin", + "Access-Control-Allow-Origin": "*", + "Content-Type": "application/json; charset=utf-8", + "Content-Length": "180", + "success": "false", + "Date": "Fri, 06 Jun 2025 06:51:48 GMT", + "Connection": "keep-alive", + "Keep-Alive": "timeout=5" +}\n```\n- **Response Body:**\n```json\n{ + "code": 33, + "message": "nisi ipsum id reprehenderit", + "data": { + "total": 87, + "list": [ + { + "dsid": "50", + "dataRegion": "veniam", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + } + ] + } +}\n```\n\n
\n\n---\n\n
\nPOST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0 - 状态: 200 - 耗时: 14.17ms\n\n#### 请求 (Request)\n- **Method:** `POST`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0`\n- **Headers:**\n```json\n{ + "tenant-id": "header_val_tenant-id", + "Content-Type": "application/json", + "Accept": "application/json" +}\n```\n- **Query Parameters:**\n```json\n{ + "pageNo": "query_val_pageNo", + "pageSize": "query_val_pageSize" +}\n```\n- **Request Body:**\n```json\n{ + "isSearchCount": "not-a-boolean", + "query": { + "dataRegions": [ + "example_string" + ], + "fields": [ + "example_string" + ], + "filter": { + "key": "example_string", + "logic": "example_string", + "realValue": [ + {} + ], + "singleValue": {}, + "subFilter": [ + "example_string" + ], + "symbol": "example_string" + }, + "groupFields": [ + "example_string" + ], + "groupFilter": { + "key": "example_string", + "logic": "example_string", + "realValue": [ + {} + ], + "singleValue": {}, + "subFilter": [ + "example_string" + ], + "symbol": "example_string" + }, + "sort": {} + } +}\n```\n- **cURL Command:**\n```bash\ncurl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 488' -d '{"isSearchCount": "not-a-boolean", "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize'\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 14.17 ms\n- **Response Headers:**\n```json\n{ + "Vary": "Origin", + "Access-Control-Allow-Origin": "*", + "Content-Type": "application/json; charset=utf-8", + "Content-Length": "170", + "success": "false", + "Date": "Fri, 06 Jun 2025 06:51:48 GMT", + "Connection": "keep-alive", + "Keep-Alive": "timeout=5" +}\n```\n- **Response Body:**\n```json\n{ + "code": 78, + "message": "fugiat mollit", + "data": { + "total": 81, + "list": [ + { + "dsid": "52", + "dataRegion": "id nostrud", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + } + ] + } +}\n```\n\n
\n\n---\n\n
\nPOST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0 - 状态: 200 - 耗时: 14.94ms\n\n#### 请求 (Request)\n- **Method:** `POST`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0`\n- **Headers:**\n```json\n{ + "tenant-id": "header_val_tenant-id", + "Content-Type": "application/json", + "Accept": "application/json" +}\n```\n- **Query Parameters:**\n```json\n{ + "pageNo": "query_val_pageNo", + "pageSize": "query_val_pageSize" +}\n```\n- **Request Body:**\n```json\n{ + "isSearchCount": true, + "query": { + "dataRegions": [ + "example_string" + ], + "fields": [ + "example_string" + ], + "filter": { + "key": "example_string", + "logic": "example_string", + "realValue": [ + {} + ], + "singleValue": {}, + "subFilter": [ + "example_string" + ], + "symbol": "example_string" + }, + "groupFields": [ + "example_string" + ], + "groupFilter": { + "key": "example_string", + "logic": "example_string", + "realValue": [ + {} + ], + "singleValue": {}, + "subFilter": [ + "example_string" + ], + "symbol": "example_string" + }, + "sort": {} + } +}\n```\n- **cURL Command:**\n```bash\ncurl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize'\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 14.94 ms\n- **Response Headers:**\n```json\n{ + "Vary": "Origin", + "Access-Control-Allow-Origin": "*", + "Content-Type": "application/json; charset=utf-8", + "Content-Length": "275", + "success": "false", + "Date": "Fri, 06 Jun 2025 06:51:48 GMT", + "Connection": "keep-alive", + "Keep-Alive": "timeout=5" +}\n```\n- **Response Body:**\n```json\n{ + "code": 15, + "message": "ex anim consectetur ut in", + "data": { + "total": 76, + "list": [ + { + "dsid": "4", + "dataRegion": "veniam", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + }, + { + "dsid": "72", + "dataRegion": "amet", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + } + ] + } +}\n```\n\n
\n\n---\n\n
\nPOST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0 - 状态: 200 - 耗时: 17.07ms\n\n#### 请求 (Request)\n- **Method:** `POST`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0`\n- **Headers:**\n```json\n{ + "tenant-id": "header_val_tenant-id", + "Content-Type": "application/json", + "Accept": "application/json" +}\n```\n- **Query Parameters:**\n```json\n{ + "pageNo": "query_val_pageNo", + "pageSize": "query_val_pageSize" +}\n```\n- **Request Body:**\n```json\n{ + "isSearchCount": true, + "query": { + "dataRegions": [ + "example_string" + ], + "fields": [ + "example_string" + ], + "filter": { + "key": "example_string", + "logic": "example_string", + "realValue": [ + {} + ], + "singleValue": {}, + "subFilter": [ + "example_string" + ], + "symbol": "example_string" + }, + "groupFields": [ + "example_string" + ], + "groupFilter": { + "key": "example_string", + "logic": "example_string", + "realValue": [ + {} + ], + "singleValue": {}, + "subFilter": [ + "example_string" + ], + "symbol": "example_string" + }, + "sort": {} + } +}\n```\n- **cURL Command:**\n```bash\ncurl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize'\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 17.07 ms\n- **Response Headers:**\n```json\n{ + "Vary": "Origin", + "Access-Control-Allow-Origin": "*", + "Content-Type": "application/json; charset=utf-8", + "Content-Length": "378", + "success": "false", + "Date": "Fri, 06 Jun 2025 06:51:48 GMT", + "Connection": "keep-alive", + "Keep-Alive": "timeout=5" +}\n```\n- **Response Body:**\n```json\n{ + "code": 22, + "message": "mollit", + "data": { + "total": 21, + "list": [ + { + "dsid": "55", + "dataRegion": "ut aliquip elit consequat enim", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + }, + { + "dsid": "21", + "dataRegion": "et", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + }, + { + "dsid": "99", + "dataRegion": "velit", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + } + ] + } +}\n```\n\n
\n\n---\n\n
\nPUT http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit - 状态: 200 - 耗时: 12.52ms\n\n#### 请求 (Request)\n- **Method:** `PUT`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit`\n- **Headers:**\n```json\n{ + "tenant-id": "header_val_tenant-id", + "Content-Type": "application/json", + "Accept": "application/json" +}\n```\n- **Query Parameters:**\n```json\n{ + "id": "dsid" +}\n```\n- **Request Body:**\n```json\n{ + "id": "example_string", + "version": "example_string" +}\n```\n- **cURL Command:**\n```bash\ncurl -X PUT -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 53' -d '{"id": "example_string", "version": "example_string"}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 12.52 ms\n- **Response Headers:**\n```json\n{ + "Vary": "Origin", + "Access-Control-Allow-Origin": "*", + "Content-Type": "application/json; charset=utf-8", + "Content-Length": "45", + "success": "false", + "Date": "Fri, 06 Jun 2025 06:51:48 GMT", + "Connection": "keep-alive", + "Keep-Alive": "timeout=5" +}\n```\n- **Response Body:**\n```json\n{ + "code": 79, + "message": "minim ex", + "data": false +}\n```\n\n
\n\n---\n\n
\nPUT http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit - 状态: 200 - 耗时: 14.81ms\n\n#### 请求 (Request)\n- **Method:** `PUT`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit`\n- **Headers:**\n```json\n{ + "tenant-id": "header_val_tenant-id", + "Content-Type": "application/json", + "Accept": "application/json" +}\n```\n- **Query Parameters:**\n```json\n{ + "id": "dsid" +}\n```\n- **Request Body:**\n```json\n{ + "id": "example_string", + "version": "example_string" +}\n```\n- **cURL Command:**\n```bash\ncurl -X PUT -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 53' -d '{"id": "example_string", "version": "example_string"}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 14.81 ms\n- **Response Headers:**\n```json\n{ + "Vary": "Origin", + "Access-Control-Allow-Origin": "*", + "Content-Type": "application/json; charset=utf-8", + "Content-Length": "51", + "success": "false", + "Date": "Fri, 06 Jun 2025 06:51:48 GMT", + "Connection": "keep-alive", + "Keep-Alive": "timeout=5" +}\n```\n- **Response Body:**\n```json\n{ + "code": 89, + "message": "quis in laboris", + "data": true +}\n```\n\n
\n\n---\n\n
\nPUT http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit - 状态: 200 - 耗时: 12.97ms\n\n#### 请求 (Request)\n- **Method:** `PUT`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit`\n- **Headers:**\n```json\n{ + "tenant-id": "header_val_tenant-id", + "Content-Type": "application/json", + "Accept": "application/json" +}\n```\n- **Query Parameters:**\n```json\n{ + "id": "dsid" +}\n```\n- **Request Body:**\n```json\n{ + "id": "example_string", + "version": "example_string" +}\n```\n- **cURL Command:**\n```bash\ncurl -X PUT -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 53' -d '{"id": "example_string", "version": "example_string"}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 12.97 ms\n- **Response Headers:**\n```json\n{ + "Vary": "Origin", + "Access-Control-Allow-Origin": "*", + "Content-Type": "application/json; charset=utf-8", + "Content-Length": "60", + "success": "false", + "Date": "Fri, 06 Jun 2025 06:51:48 GMT", + "Connection": "keep-alive", + "Keep-Alive": "timeout=5" +}\n```\n- **Response Body:**\n```json\n{ + "code": 78, + "message": "magna adipisicing nulla", + "data": false +}\n```\n\n
\n\n---\n\n
\nPUT http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit - 状态: 200 - 耗时: 14.04ms\n\n#### 请求 (Request)\n- **Method:** `PUT`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit`\n- **Headers:**\n```json\n{ + "tenant-id": "header_val_tenant-id", + "Content-Type": "application/json", + "Accept": "application/json" +}\n```\n- **Query Parameters:**\n```json\n{ + "id": 12345 +}\n```\n- **Request Body:**\n```json\n{ + "id": "example_string", + "version": "example_string" +}\n```\n- **cURL Command:**\n```bash\ncurl -X PUT -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 53' -d '{"id": "example_string", "version": "example_string"}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=12345'\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 14.04 ms\n- **Response Headers:**\n```json\n{ + "Vary": "Origin", + "Access-Control-Allow-Origin": "*", + "Content-Type": "application/json; charset=utf-8", + "Content-Length": "63", + "success": "false", + "Date": "Fri, 06 Jun 2025 06:51:48 GMT", + "Connection": "keep-alive", + "Keep-Alive": "timeout=5" +}\n```\n- **Response Body:**\n```json\n{ + "code": 80, + "message": "dolore cupidatat amet Duis", + "data": false +}\n```\n\n
\n\n---\n\n
\nPUT http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit - 状态: 200 - 耗时: 16.87ms\n\n#### 请求 (Request)\n- **Method:** `PUT`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit`\n- **Headers:**\n```json\n{ + "tenant-id": "header_val_tenant-id", + "Content-Type": "application/json", + "Accept": "application/json" +}\n```\n- **Query Parameters:**\n```json\n{ + "id": "dsid" +}\n```\n- **Request Body:**\n```json\n{ + "id": 12345, + "version": "example_string" +}\n```\n- **cURL Command:**\n```bash\ncurl -X PUT -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 42' -d '{"id": 12345, "version": "example_string"}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 16.87 ms\n- **Response Headers:**\n```json\n{ + "Vary": "Origin", + "Access-Control-Allow-Origin": "*", + "Content-Type": "application/json; charset=utf-8", + "Content-Length": "66", + "success": "false", + "Date": "Fri, 06 Jun 2025 06:51:48 GMT", + "Connection": "keep-alive", + "Keep-Alive": "timeout=5" +}\n```\n- **Response Body:**\n```json\n{ + "code": 7, + "message": "esse et reprehenderit ex tempor", + "data": true +}\n```\n\n
\n\n---\n\n
\nPUT http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit - 状态: 200 - 耗时: 16.69ms\n\n#### 请求 (Request)\n- **Method:** `PUT`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit`\n- **Headers:**\n```json\n{ + "tenant-id": "header_val_tenant-id", + "Content-Type": "application/json", + "Accept": "application/json" +}\n```\n- **Query Parameters:**\n```json\n{ + "id": "dsid" +}\n```\n- **Request Body:**\n```json\n{ + "version": "example_string" +}\n```\n- **cURL Command:**\n```bash\ncurl -X PUT -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 29' -d '{"version": "example_string"}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 16.69 ms\n- **Response Headers:**\n```json\n{ + "Vary": "Origin", + "Access-Control-Allow-Origin": "*", + "Content-Type": "application/json; charset=utf-8", + "Content-Length": "13", + "success": "false", + "Date": "Fri, 06 Jun 2025 06:51:48 GMT", + "Connection": "keep-alive", + "Keep-Alive": "timeout=5" +}\n```\n- **Response Body:**\n```json\n{ + "code": 4003 +}\n```\n\n
\n\n---\n\n
\nPUT http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit - 状态: 200 - 耗时: 13.24ms\n\n#### 请求 (Request)\n- **Method:** `PUT`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit`\n- **Headers:**\n```json\n{ + "tenant-id": "header_val_tenant-id", + "Content-Type": "application/json", + "Accept": "application/json" +}\n```\n- **Request Body:**\n```json\n{ + "id": "example_string", + "version": "example_string" +}\n```\n- **cURL Command:**\n```bash\ncurl -X PUT -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 53' -d '{"id": "example_string", "version": "example_string"}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 13.24 ms\n- **Response Headers:**\n```json\n{ + "Vary": "Origin", + "Access-Control-Allow-Origin": "*", + "Content-Type": "application/json; charset=utf-8", + "Content-Length": "57", + "success": "false", + "Date": "Fri, 06 Jun 2025 06:51:48 GMT", + "Connection": "keep-alive", + "Keep-Alive": "timeout=5" +}\n```\n- **Response Body:**\n```json\n{ + "code": 36, + "message": "sed cillum qui labore", + "data": true +}\n```\n\n
\n\n---\n\n
\nDELETE http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit - 状态: 200 - 耗时: 13.80ms\n\n#### 请求 (Request)\n- **Method:** `DELETE`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit`\n- **Headers:**\n```json\n{ + "tenant-id": "header_val_tenant-id", + "Content-Type": "application/json", + "Accept": "application/json" +}\n```\n- **Query Parameters:**\n```json\n{ + "id": "dsid" +}\n```\n- **Request Body:**\n```json\n{ + "version": "example_string", + "data": [ + "example_string" + ] +}\n```\n- **cURL Command:**\n```bash\ncurl -X DELETE -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 57' -d '{"version": "example_string", "data": ["example_string"]}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 13.80 ms\n- **Response Headers:**\n```json\n{ + "Vary": "Origin", + "Access-Control-Allow-Origin": "*", + "Content-Type": "application/json; charset=utf-8", + "Content-Length": "65", + "success": "false", + "Date": "Fri, 06 Jun 2025 06:51:48 GMT", + "Connection": "keep-alive", + "Keep-Alive": "timeout=5" +}\n```\n- **Response Body:**\n```json\n{ + "code": 90, + "message": "enim ut exercitation sit sed", + "data": false +}\n```\n\n
\n\n---\n\n
\nDELETE http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit - 状态: 200 - 耗时: 12.31ms\n\n#### 请求 (Request)\n- **Method:** `DELETE`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit`\n- **Headers:**\n```json\n{ + "tenant-id": "header_val_tenant-id", + "Content-Type": "application/json", + "Accept": "application/json" +}\n```\n- **Query Parameters:**\n```json\n{ + "id": "dsid" +}\n```\n- **Request Body:**\n```json\n{ + "version": "example_string", + "data": [ + "example_string" + ] +}\n```\n- **cURL Command:**\n```bash\ncurl -X DELETE -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 57' -d '{"version": "example_string", "data": ["example_string"]}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 12.31 ms\n- **Response Headers:**\n```json\n{ + "Vary": "Origin", + "Access-Control-Allow-Origin": "*", + "Content-Type": "application/json; charset=utf-8", + "Content-Length": "57", + "success": "false", + "Date": "Fri, 06 Jun 2025 06:51:48 GMT", + "Connection": "keep-alive", + "Keep-Alive": "timeout=5" +}\n```\n- **Response Body:**\n```json\n{ + "code": 14, + "message": "occaecat magna minim", + "data": false +}\n```\n\n
\n\n---\n\n
\nDELETE http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit - 状态: 200 - 耗时: 13.36ms\n\n#### 请求 (Request)\n- **Method:** `DELETE`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit`\n- **Headers:**\n```json\n{ + "tenant-id": "header_val_tenant-id", + "Content-Type": "application/json", + "Accept": "application/json" +}\n```\n- **Query Parameters:**\n```json\n{ + "id": "dsid" +}\n```\n- **Request Body:**\n```json\n{ + "version": "example_string", + "data": [ + "example_string" + ] +}\n```\n- **cURL Command:**\n```bash\ncurl -X DELETE -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 57' -d '{"version": "example_string", "data": ["example_string"]}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 13.36 ms\n- **Response Headers:**\n```json\n{ + "Vary": "Origin", + "Access-Control-Allow-Origin": "*", + "Content-Type": "application/json; charset=utf-8", + "Content-Length": "58", + "success": "false", + "Date": "Fri, 06 Jun 2025 06:51:48 GMT", + "Connection": "keep-alive", + "Keep-Alive": "timeout=5" +}\n```\n- **Response Body:**\n```json\n{ + "code": 59, + "message": "cupidatat adipisicing", + "data": false +}\n```\n\n
\n\n---\n\n
\nDELETE http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit - 状态: 200 - 耗时: 15.01ms\n\n#### 请求 (Request)\n- **Method:** `DELETE`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit`\n- **Headers:**\n```json\n{ + "tenant-id": "header_val_tenant-id", + "Content-Type": "application/json", + "Accept": "application/json" +}\n```\n- **Query Parameters:**\n```json\n{ + "id": 12345 +}\n```\n- **Request Body:**\n```json\n{ + "version": "example_string", + "data": [ + "example_string" + ] +}\n```\n- **cURL Command:**\n```bash\ncurl -X DELETE -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 57' -d '{"version": "example_string", "data": ["example_string"]}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=12345'\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 15.01 ms\n- **Response Headers:**\n```json\n{ + "Vary": "Origin", + "Access-Control-Allow-Origin": "*", + "Content-Type": "application/json; charset=utf-8", + "Content-Length": "47", + "success": "false", + "Date": "Fri, 06 Jun 2025 06:51:48 GMT", + "Connection": "keep-alive", + "Keep-Alive": "timeout=5" +}\n```\n- **Response Body:**\n```json\n{ + "code": 28, + "message": "sed veniam", + "data": false +}\n```\n\n
\n\n---\n\n
\nDELETE http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit - 状态: 200 - 耗时: 13.03ms\n\n#### 请求 (Request)\n- **Method:** `DELETE`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit`\n- **Headers:**\n```json\n{ + "tenant-id": "header_val_tenant-id", + "Content-Type": "application/json", + "Accept": "application/json" +}\n```\n- **Query Parameters:**\n```json\n{ + "id": "dsid" +}\n```\n- **Request Body:**\n```json\n{ + "version": 12345, + "data": [ + "example_string" + ] +}\n```\n- **cURL Command:**\n```bash\ncurl -X DELETE -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 46' -d '{"version": 12345, "data": ["example_string"]}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 13.03 ms\n- **Response Headers:**\n```json\n{ + "Vary": "Origin", + "Access-Control-Allow-Origin": "*", + "Content-Type": "application/json; charset=utf-8", + "Content-Length": "41", + "success": "false", + "Date": "Fri, 06 Jun 2025 06:51:48 GMT", + "Connection": "keep-alive", + "Keep-Alive": "timeout=5" +}\n```\n- **Response Body:**\n```json\n{ + "code": 81, + "message": "ex Ut", + "data": true +}\n```\n\n
\n\n---\n\n
\nDELETE http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit - 状态: 200 - 耗时: 16.39ms\n\n#### 请求 (Request)\n- **Method:** `DELETE`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit`\n- **Headers:**\n```json\n{ + "tenant-id": "header_val_tenant-id", + "Content-Type": "application/json", + "Accept": "application/json" +}\n```\n- **Query Parameters:**\n```json\n{ + "id": "dsid" +}\n```\n- **Request Body:**\n```json\n{ + "version": "example_string", + "data": [ + "example_string" + ] +}\n```\n- **cURL Command:**\n```bash\ncurl -X DELETE -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 57' -d '{"version": "example_string", "data": ["example_string"]}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid'\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 16.39 ms\n- **Response Headers:**\n```json\n{ + "Vary": "Origin", + "Access-Control-Allow-Origin": "*", + "Content-Type": "application/json; charset=utf-8", + "Content-Length": "63", + "success": "false", + "Date": "Fri, 06 Jun 2025 06:51:49 GMT", + "Connection": "keep-alive", + "Keep-Alive": "timeout=5" +}\n```\n- **Response Body:**\n```json\n{ + "code": 87, + "message": "amet eiusmod commodo dolore", + "data": true +}\n```\n\n
\n\n---\n\n
\nDELETE http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit - 状态: 200 - 耗时: 13.31ms\n\n#### 请求 (Request)\n- **Method:** `DELETE`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit`\n- **Headers:**\n```json\n{ + "tenant-id": "header_val_tenant-id", + "Content-Type": "application/json", + "Accept": "application/json" +}\n```\n- **Request Body:**\n```json\n{ + "version": "example_string", + "data": [ + "example_string" + ] +}\n```\n- **cURL Command:**\n```bash\ncurl -X DELETE -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 57' -d '{"version": "example_string", "data": ["example_string"]}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 13.31 ms\n- **Response Headers:**\n```json\n{ + "Vary": "Origin", + "Access-Control-Allow-Origin": "*", + "Content-Type": "application/json; charset=utf-8", + "Content-Length": "70", + "success": "false", + "Date": "Fri, 06 Jun 2025 06:51:49 GMT", + "Connection": "keep-alive", + "Keep-Alive": "timeout=5" +}\n```\n- **Response Body:**\n```json\n{ + "code": 64, + "message": "dolor Excepteur labore tempor amet", + "data": true +}\n```\n\n
\n\n---\n\n
\nPOST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit - 状态: 200 - 耗时: 13.26ms\n\n#### 请求 (Request)\n- **Method:** `POST`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit`\n- **Headers:**\n```json\n{ + "tenant-id": "header_val_tenant-id", + "Content-Type": "application/json", + "Accept": "application/json" +}\n```\n- **Request Body:**\n```json\n{ + "version": "example_string", + "data": [ + { + "bsflag": 0.0, + "wellCommonName": "example_string", + "wellId": "example_string", + "dataRegion": "example_string" + } + ] +}\n```\n- **cURL Command:**\n```bash\ncurl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 152' -d '{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 13.26 ms\n- **Response Headers:**\n```json\n{ + "Vary": "Origin", + "Access-Control-Allow-Origin": "*", + "Content-Type": "application/json; charset=utf-8", + "Content-Length": "62", + "success": "false", + "Date": "Fri, 06 Jun 2025 06:51:49 GMT", + "Connection": "keep-alive", + "Keep-Alive": "timeout=5" +}\n```\n- **Response Body:**\n```json\n{ + "code": 62, + "message": "deserunt Ut sed quis culpa", + "data": true +}\n```\n\n
\n\n---\n\n
\nPOST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit - 状态: 200 - 耗时: 12.66ms\n\n#### 请求 (Request)\n- **Method:** `POST`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit`\n- **Headers:**\n```json\n{ + "tenant-id": "header_val_tenant-id", + "Content-Type": "application/json", + "Accept": "application/json" +}\n```\n- **Request Body:**\n```json\n{ + "version": "example_string", + "data": [ + { + "bsflag": 0.0, + "wellCommonName": "example_string", + "wellId": "example_string", + "dataRegion": "example_string" + } + ] +}\n```\n- **cURL Command:**\n```bash\ncurl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 152' -d '{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 12.66 ms\n- **Response Headers:**\n```json\n{ + "Vary": "Origin", + "Access-Control-Allow-Origin": "*", + "Content-Type": "application/json; charset=utf-8", + "Content-Length": "39", + "success": "false", + "Date": "Fri, 06 Jun 2025 06:51:49 GMT", + "Connection": "keep-alive", + "Keep-Alive": "timeout=5" +}\n```\n- **Response Body:**\n```json\n{ + "code": 32, + "message": "ea", + "data": false +}\n```\n\n
\n\n---\n\n
\nPOST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit - 状态: 200 - 耗时: 15.69ms\n\n#### 请求 (Request)\n- **Method:** `POST`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit`\n- **Headers:**\n```json\n{ + "tenant-id": "header_val_tenant-id", + "Content-Type": "application/json", + "Accept": "application/json" +}\n```\n- **Request Body:**\n```json\n{ + "version": "example_string", + "data": [ + { + "bsflag": 0.0, + "wellCommonName": "example_string", + "wellId": "example_string", + "dataRegion": "example_string" + } + ] +}\n```\n- **cURL Command:**\n```bash\ncurl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 152' -d '{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 15.69 ms\n- **Response Headers:**\n```json\n{ + "Vary": "Origin", + "Access-Control-Allow-Origin": "*", + "Content-Type": "application/json; charset=utf-8", + "Content-Length": "47", + "success": "false", + "Date": "Fri, 06 Jun 2025 06:51:49 GMT", + "Connection": "keep-alive", + "Keep-Alive": "timeout=5" +}\n```\n- **Response Body:**\n```json\n{ + "code": 66, + "message": "incididunt", + "data": false +}\n```\n\n
\n\n---\n\n
\nPOST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit - 状态: 200 - 耗时: 13.09ms\n\n#### 请求 (Request)\n- **Method:** `POST`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit`\n- **Headers:**\n```json\n{ + "tenant-id": "header_val_tenant-id", + "Content-Type": "application/json", + "Accept": "application/json" +}\n```\n- **Request Body:**\n```json\n{ + "version": "example_string", + "data": [ + { + "bsflag": 0.0, + "wellCommonName": "example_string", + "wellId": "example_string", + "dataRegion": "example_string" + } + ] +}\n```\n- **cURL Command:**\n```bash\ncurl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 152' -d '{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 13.09 ms\n- **Response Headers:**\n```json\n{ + "Vary": "Origin", + "Access-Control-Allow-Origin": "*", + "Content-Type": "application/json; charset=utf-8", + "Content-Length": "42", + "success": "false", + "Date": "Fri, 06 Jun 2025 06:51:49 GMT", + "Connection": "keep-alive", + "Keep-Alive": "timeout=5" +}\n```\n- **Response Body:**\n```json\n{ + "code": 71, + "message": "dolore", + "data": true +}\n```\n\n
\n\n---\n\n
\nPOST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit - 状态: 200 - 耗时: 17.23ms\n\n#### 请求 (Request)\n- **Method:** `POST`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit`\n- **Headers:**\n```json\n{ + "tenant-id": "header_val_tenant-id", + "Content-Type": "application/json", + "Accept": "application/json" +}\n```\n- **Request Body:**\n```json\n{ + "version": 12345, + "data": [ + { + "bsflag": 0.0, + "wellCommonName": "example_string", + "wellId": "example_string", + "dataRegion": "example_string" + } + ] +}\n```\n- **cURL Command:**\n```bash\ncurl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 141' -d '{"version": 12345, "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 17.23 ms\n- **Response Headers:**\n```json\n{ + "Vary": "Origin", + "Access-Control-Allow-Origin": "*", + "Content-Type": "application/json; charset=utf-8", + "Content-Length": "50", + "success": "false", + "Date": "Fri, 06 Jun 2025 06:51:49 GMT", + "Connection": "keep-alive", + "Keep-Alive": "timeout=5" +}\n```\n- **Response Body:**\n```json\n{ + "code": 80, + "message": "Ut Lorem ex id", + "data": true +}\n```\n\n
\n\n---\n\n
\nPOST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit - 状态: 200 - 耗时: 13.50ms\n\n#### 请求 (Request)\n- **Method:** `POST`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit`\n- **Headers:**\n```json\n{ + "tenant-id": "header_val_tenant-id", + "Content-Type": "application/json", + "Accept": "application/json" +}\n```\n- **Request Body:**\n```json\n{ + "version": "example_string", + "data": [ + { + "wellCommonName": "example_string", + "wellId": "example_string", + "dataRegion": "example_string" + } + ] +}\n```\n- **cURL Command:**\n```bash\ncurl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 137' -d '{"version": "example_string", "data": [{"wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 13.50 ms\n- **Response Headers:**\n```json\n{ + "Vary": "Origin", + "Access-Control-Allow-Origin": "*", + "Content-Type": "application/json; charset=utf-8", + "Content-Length": "53", + "success": "false", + "Date": "Fri, 06 Jun 2025 06:51:49 GMT", + "Connection": "keep-alive", + "Keep-Alive": "timeout=5" +}\n```\n- **Response Body:**\n```json\n{ + "code": 15, + "message": "in commodo minim", + "data": false +}\n```\n\n
\n\n---\n\n
\nPOST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit - 状态: 200 - 耗时: 12.53ms\n\n#### 请求 (Request)\n- **Method:** `POST`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit`\n- **Headers:**\n```json\n{ + "tenant-id": "header_val_tenant-id", + "Content-Type": "application/json", + "Accept": "application/json" +}\n```\n- **Request Body:**\n```json\n{ + "version": "example_string", + "data": [ + { + "bsflag": 0.0, + "wellCommonName": "example_string", + "wellId": "example_string", + "dataRegion": "example_string" + } + ] +}\n```\n- **cURL Command:**\n```bash\ncurl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 152' -d '{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 12.53 ms\n- **Response Headers:**\n```json\n{ + "Vary": "Origin", + "Access-Control-Allow-Origin": "*", + "Content-Type": "application/json; charset=utf-8", + "Content-Length": "40", + "success": "false", + "Date": "Fri, 06 Jun 2025 06:51:49 GMT", + "Connection": "keep-alive", + "Keep-Alive": "timeout=5" +}\n```\n- **Response Body:**\n```json\n{ + "code": 7, + "message": "culpa", + "data": true +}\n```\n\n
\n\n---\n\n
\nGET http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id - 状态: 200 - 耗时: 18.09ms\n\n#### 请求 (Request)\n- **Method:** `GET`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id`\n- **Headers:**\n```json\n{ + "tenant-id": "header_val_tenant-id", + "Content-Type": "application/json", + "Accept": "application/json" +}\n```\n- **Request Body:**\n```json\n{ + "isSearchCount": true, + "query": { + "dataRegions": [ + "example_string" + ], + "fields": [ + "example_string" + ], + "filter": { + "key": "example_string", + "logic": "example_string", + "realValue": [ + {} + ], + "singleValue": {}, + "subFilter": [ + "example_string" + ], + "symbol": "example_string" + }, + "groupFields": [ + "example_string" + ], + "groupFilter": { + "key": "example_string", + "logic": "example_string", + "realValue": [ + {} + ], + "singleValue": {}, + "subFilter": [ + "example_string" + ], + "symbol": "example_string" + }, + "sort": {} + } +}\n```\n- **cURL Command:**\n```bash\ncurl -X GET -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 18.09 ms\n- **Response Headers:**\n```json\n{ + "Vary": "Origin", + "Access-Control-Allow-Origin": "*", + "Content-Type": "application/json; charset=utf-8", + "Content-Length": "433", + "success": "false", + "Date": "Fri, 06 Jun 2025 06:51:49 GMT", + "Connection": "keep-alive", + "Keep-Alive": "timeout=5" +}\n```\n- **Response Body:**\n```json\n{ + "code": 21, + "message": "consectetur dolor tempor", + "data": { + "total": 88, + "list": [ + { + "dsid": "41", + "dataRegion": "adipisicing mollit eiusmod dolore occaecat", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + }, + { + "dsid": "84", + "dataRegion": "sunt non adipisicing", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + }, + { + "dsid": "91", + "dataRegion": "sit amet non", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + } + ] + } +}\n```\n\n
\n\n---\n\n
\nGET http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id - 状态: 200 - 耗时: 12.99ms\n\n#### 请求 (Request)\n- **Method:** `GET`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id`\n- **Headers:**\n```json\n{ + "tenant-id": "header_val_tenant-id", + "Content-Type": "application/json", + "Accept": "application/json" +}\n```\n- **Request Body:**\n```json\n{ + "isSearchCount": true, + "query": { + "dataRegions": [ + "example_string" + ], + "fields": [ + "example_string" + ], + "filter": { + "key": "example_string", + "logic": "example_string", + "realValue": [ + {} + ], + "singleValue": {}, + "subFilter": [ + "example_string" + ], + "symbol": "example_string" + }, + "groupFields": [ + "example_string" + ], + "groupFilter": { + "key": "example_string", + "logic": "example_string", + "realValue": [ + {} + ], + "singleValue": {}, + "subFilter": [ + "example_string" + ], + "symbol": "example_string" + }, + "sort": {} + } +}\n```\n- **cURL Command:**\n```bash\ncurl -X GET -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 12.99 ms\n- **Response Headers:**\n```json\n{ + "Vary": "Origin", + "Access-Control-Allow-Origin": "*", + "Content-Type": "application/json; charset=utf-8", + "Content-Length": "175", + "success": "false", + "Date": "Fri, 06 Jun 2025 06:51:49 GMT", + "Connection": "keep-alive", + "Keep-Alive": "timeout=5" +}\n```\n- **Response Body:**\n```json\n{ + "code": 50, + "message": "officia id ipsum aliquip", + "data": { + "total": 99, + "list": [ + { + "dsid": "33", + "dataRegion": "elit", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + } + ] + } +}\n```\n\n
\n\n---\n\n
\nGET http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id - 状态: 200 - 耗时: 12.11ms\n\n#### 请求 (Request)\n- **Method:** `GET`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id`\n- **Headers:**\n```json\n{ + "tenant-id": "header_val_tenant-id", + "Content-Type": "application/json", + "Accept": "application/json" +}\n```\n- **Request Body:**\n```json\n{ + "isSearchCount": true, + "query": { + "dataRegions": [ + "example_string" + ], + "fields": [ + "example_string" + ], + "filter": { + "key": "example_string", + "logic": "example_string", + "realValue": [ + {} + ], + "singleValue": {}, + "subFilter": [ + "example_string" + ], + "symbol": "example_string" + }, + "groupFields": [ + "example_string" + ], + "groupFilter": { + "key": "example_string", + "logic": "example_string", + "realValue": [ + {} + ], + "singleValue": {}, + "subFilter": [ + "example_string" + ], + "symbol": "example_string" + }, + "sort": {} + } +}\n```\n- **cURL Command:**\n```bash\ncurl -X GET -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 12.11 ms\n- **Response Headers:**\n```json\n{ + "Vary": "Origin", + "Access-Control-Allow-Origin": "*", + "Content-Type": "application/json; charset=utf-8", + "Content-Length": "398", + "success": "false", + "Date": "Fri, 06 Jun 2025 06:51:49 GMT", + "Connection": "keep-alive", + "Keep-Alive": "timeout=5" +}\n```\n- **Response Body:**\n```json\n{ + "code": 15, + "message": "est in", + "data": { + "total": 49, + "list": [ { "dsid": "76", - "dataRegion": "cupidatat dolore eu commodo quis", - "gasReleaseMon": null, - "gasReleaseYear": null, - "releaseGasCum": null - } - ] - } -} - ``` - ---- -## `POST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize` -**cURL Command:** -```sh -curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize' -``` -### Request Details -- **Method:** `POST` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize` -- **Headers:** -```json -{ - "tenant-id": "header_val_tenant-id", - "Content-Type": "application/json", - "Accept": "application/json" -} - ``` -- **Query Parameters:** -```json -{ - "pageNo": "query_val_pageNo", - "pageSize": "query_val_pageSize" -} - ``` -- **Body:** -```json -{ - "isSearchCount": true, - "query": { - "dataRegions": [ - "example_string" - ], - "fields": [ - "example_string" - ], - "filter": { - "key": "example_string", - "logic": "example_string", - "realValue": [ - {} - ], - "singleValue": {}, - "subFilter": [ - "example_string" - ], - "symbol": "example_string" - }, - "groupFields": [ - "example_string" - ], - "groupFilter": { - "key": "example_string", - "logic": "example_string", - "realValue": [ - {} - ], - "singleValue": {}, - "subFilter": [ - "example_string" - ], - "symbol": "example_string" - }, - "sort": {} - } -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0141s` -- **Headers:** -```json -{ - "Vary": "Origin", - "Access-Control-Allow-Origin": "*", - "Content-Type": "application/json; charset=utf-8", - "Content-Length": "282", - "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:02 GMT", - "Connection": "keep-alive", - "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 40, - "message": "quis sint", - "data": { - "total": 37, - "list": [ - { - "dsid": "69", - "dataRegion": "sit dolore", + "dataRegion": "consequat", "gasReleaseMon": null, "gasReleaseYear": null, "releaseGasCum": null }, { "dsid": "67", - "dataRegion": "ullamco esse consequat", + "dataRegion": "ex quis consequat sunt velit", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + }, + { + "dsid": "15", + "dataRegion": "adipisicing nisi sed", "gasReleaseMon": null, "gasReleaseYear": null, "releaseGasCum": null } ] } -} - ``` - ---- -## `POST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=12345&pageSize=query_val_pageSize` -**cURL Command:** -```sh -curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=12345&pageSize=query_val_pageSize' -``` -### Request Details -- **Method:** `POST` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=12345&pageSize=query_val_pageSize` -- **Headers:** -```json -{ +}\n```\n\n
\n\n---\n\n
\nGET http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id - 状态: 200 - 耗时: 12.68ms\n\n#### 请求 (Request)\n- **Method:** `GET`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id`\n- **Headers:**\n```json\n{ "tenant-id": "header_val_tenant-id", "Content-Type": "application/json", "Accept": "application/json" -} - ``` -- **Query Parameters:** -```json -{ - "pageNo": 12345, - "pageSize": "query_val_pageSize" -} - ``` -- **Body:** -```json -{ +}\n```\n- **Request Body:**\n```json\n{ "isSearchCount": true, "query": { "dataRegions": [ @@ -1109,2328 +1784,298 @@ curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, }, "sort": {} } -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0145s` -- **Headers:** -```json -{ +}\n```\n- **cURL Command:**\n```bash\ncurl -X GET -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 12.68 ms\n- **Response Headers:**\n```json\n{ "Vary": "Origin", "Access-Control-Allow-Origin": "*", "Content-Type": "application/json; charset=utf-8", - "Content-Length": "190", + "Content-Length": "409", "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:02 GMT", + "Date": "Fri, 06 Jun 2025 06:51:49 GMT", "Connection": "keep-alive", "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 3, - "message": "reprehenderit Ut adipisicing anim", +}\n```\n- **Response Body:**\n```json\n{ + "code": 33, + "message": "exercitation amet", "data": { "total": 78, "list": [ { - "dsid": "99", - "dataRegion": "ex enim sit", - "gasReleaseMon": null, - "gasReleaseYear": null, - "releaseGasCum": null - } - ] - } -} - ``` - ---- -## `POST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize` -**cURL Command:** -```sh -curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 488' -d '{"isSearchCount": "not-a-boolean", "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize' -``` -### Request Details -- **Method:** `POST` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize` -- **Headers:** -```json -{ - "tenant-id": "header_val_tenant-id", - "Content-Type": "application/json", - "Accept": "application/json" -} - ``` -- **Query Parameters:** -```json -{ - "pageNo": "query_val_pageNo", - "pageSize": "query_val_pageSize" -} - ``` -- **Body:** -```json -{ - "isSearchCount": "not-a-boolean", - "query": { - "dataRegions": [ - "example_string" - ], - "fields": [ - "example_string" - ], - "filter": { - "key": "example_string", - "logic": "example_string", - "realValue": [ - {} - ], - "singleValue": {}, - "subFilter": [ - "example_string" - ], - "symbol": "example_string" - }, - "groupFields": [ - "example_string" - ], - "groupFilter": { - "key": "example_string", - "logic": "example_string", - "realValue": [ - {} - ], - "singleValue": {}, - "subFilter": [ - "example_string" - ], - "symbol": "example_string" - }, - "sort": {} - } -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0154s` -- **Headers:** -```json -{ - "Vary": "Origin", - "Access-Control-Allow-Origin": "*", - "Content-Type": "application/json; charset=utf-8", - "Content-Length": "179", - "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:02 GMT", - "Connection": "keep-alive", - "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 55, - "message": "qui ea est", - "data": { - "total": 37, - "list": [ - { - "dsid": "27", - "dataRegion": "qui adipisicing sed in", - "gasReleaseMon": null, - "gasReleaseYear": null, - "releaseGasCum": null - } - ] - } -} - ``` - ---- -## `POST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize` -**cURL Command:** -```sh -curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize' -``` -### Request Details -- **Method:** `POST` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize` -- **Headers:** -```json -{ - "tenant-id": "header_val_tenant-id", - "Content-Type": "application/json", - "Accept": "application/json" -} - ``` -- **Query Parameters:** -```json -{ - "pageNo": "query_val_pageNo", - "pageSize": "query_val_pageSize" -} - ``` -- **Body:** -```json -{ - "isSearchCount": true, - "query": { - "dataRegions": [ - "example_string" - ], - "fields": [ - "example_string" - ], - "filter": { - "key": "example_string", - "logic": "example_string", - "realValue": [ - {} - ], - "singleValue": {}, - "subFilter": [ - "example_string" - ], - "symbol": "example_string" - }, - "groupFields": [ - "example_string" - ], - "groupFilter": { - "key": "example_string", - "logic": "example_string", - "realValue": [ - {} - ], - "singleValue": {}, - "subFilter": [ - "example_string" - ], - "symbol": "example_string" - }, - "sort": {} - } -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0177s` -- **Headers:** -```json -{ - "Vary": "Origin", - "Access-Control-Allow-Origin": "*", - "Content-Type": "application/json; charset=utf-8", - "Content-Length": "205", - "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:02 GMT", - "Connection": "keep-alive", - "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 50, - "message": "aliqua nisi occaecat", - "data": { - "total": 32, - "list": [ - { - "dsid": "92", - "dataRegion": "incididunt non dolore cupidatat labore", - "gasReleaseMon": null, - "gasReleaseYear": null, - "releaseGasCum": null - } - ] - } -} - ``` - ---- -## `POST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize` -**cURL Command:** -```sh -curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize' -``` -### Request Details -- **Method:** `POST` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=query_val_pageNo&pageSize=query_val_pageSize` -- **Headers:** -```json -{ - "tenant-id": "header_val_tenant-id", - "Content-Type": "application/json", - "Accept": "application/json" -} - ``` -- **Query Parameters:** -```json -{ - "pageNo": "query_val_pageNo", - "pageSize": "query_val_pageSize" -} - ``` -- **Body:** -```json -{ - "isSearchCount": true, - "query": { - "dataRegions": [ - "example_string" - ], - "fields": [ - "example_string" - ], - "filter": { - "key": "example_string", - "logic": "example_string", - "realValue": [ - {} - ], - "singleValue": {}, - "subFilter": [ - "example_string" - ], - "symbol": "example_string" - }, - "groupFields": [ - "example_string" - ], - "groupFilter": { - "key": "example_string", - "logic": "example_string", - "realValue": [ - {} - ], - "singleValue": {}, - "subFilter": [ - "example_string" - ], - "symbol": "example_string" - }, - "sort": {} - } -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0318s` -- **Headers:** -```json -{ - "Vary": "Origin", - "Access-Control-Allow-Origin": "*", - "Content-Type": "application/json; charset=utf-8", - "Content-Length": "297", - "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:02 GMT", - "Connection": "keep-alive", - "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 10, - "message": "fugiat ex", - "data": { - "total": 85, - "list": [ - { - "dsid": "94", - "dataRegion": "reprehenderit enim velit esse", + "dsid": "66", + "dataRegion": "voluptate in", "gasReleaseMon": null, "gasReleaseYear": null, "releaseGasCum": null }, - { - "dsid": "51", - "dataRegion": "sit amet Excepteur", - "gasReleaseMon": null, - "gasReleaseYear": null, - "releaseGasCum": null - } - ] - } -} - ``` - ---- -## `PUT http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid` -**cURL Command:** -```sh -curl -X PUT -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 53' -d '{"id": "example_string", "version": "example_string"}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid' -``` -### Request Details -- **Method:** `PUT` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid` -- **Headers:** -```json -{ - "tenant-id": "header_val_tenant-id", - "Content-Type": "application/json", - "Accept": "application/json" -} - ``` -- **Query Parameters:** -```json -{ - "id": "dsid" -} - ``` -- **Body:** -```json -{ - "id": "example_string", - "version": "example_string" -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0131s` -- **Headers:** -```json -{ - "Vary": "Origin", - "Access-Control-Allow-Origin": "*", - "Content-Type": "application/json; charset=utf-8", - "Content-Length": "69", - "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:02 GMT", - "Connection": "keep-alive", - "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 59, - "message": "officia ea eiusmod nisi cupidatat", - "data": true -} - ``` - ---- -## `PUT http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid` -**cURL Command:** -```sh -curl -X PUT -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 53' -d '{"id": "example_string", "version": "example_string"}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid' -``` -### Request Details -- **Method:** `PUT` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid` -- **Headers:** -```json -{ - "tenant-id": "header_val_tenant-id", - "Content-Type": "application/json", - "Accept": "application/json" -} - ``` -- **Query Parameters:** -```json -{ - "id": "dsid" -} - ``` -- **Body:** -```json -{ - "id": "example_string", - "version": "example_string" -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0136s` -- **Headers:** -```json -{ - "Vary": "Origin", - "Access-Control-Allow-Origin": "*", - "Content-Type": "application/json; charset=utf-8", - "Content-Length": "50", - "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:02 GMT", - "Connection": "keep-alive", - "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 91, - "message": "minim elit in", - "data": false -} - ``` - ---- -## `PUT http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid` -**cURL Command:** -```sh -curl -X PUT -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 53' -d '{"id": "example_string", "version": "example_string"}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid' -``` -### Request Details -- **Method:** `PUT` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid` -- **Headers:** -```json -{ - "tenant-id": "header_val_tenant-id", - "Content-Type": "application/json", - "Accept": "application/json" -} - ``` -- **Query Parameters:** -```json -{ - "id": "dsid" -} - ``` -- **Body:** -```json -{ - "id": "example_string", - "version": "example_string" -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0157s` -- **Headers:** -```json -{ - "Vary": "Origin", - "Access-Control-Allow-Origin": "*", - "Content-Type": "application/json; charset=utf-8", - "Content-Length": "72", - "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:02 GMT", - "Connection": "keep-alive", - "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 15, - "message": "occaecat ullamco minim reprehenderit", - "data": true -} - ``` - ---- -## `PUT http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=12345` -**cURL Command:** -```sh -curl -X PUT -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 53' -d '{"id": "example_string", "version": "example_string"}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=12345' -``` -### Request Details -- **Method:** `PUT` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=12345` -- **Headers:** -```json -{ - "tenant-id": "header_val_tenant-id", - "Content-Type": "application/json", - "Accept": "application/json" -} - ``` -- **Query Parameters:** -```json -{ - "id": 12345 -} - ``` -- **Body:** -```json -{ - "id": "example_string", - "version": "example_string" -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0124s` -- **Headers:** -```json -{ - "Vary": "Origin", - "Access-Control-Allow-Origin": "*", - "Content-Type": "application/json; charset=utf-8", - "Content-Length": "49", - "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:02 GMT", - "Connection": "keep-alive", - "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 15, - "message": "dolore ex id", - "data": false -} - ``` - ---- -## `PUT http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid` -**cURL Command:** -```sh -curl -X PUT -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 42' -d '{"id": 12345, "version": "example_string"}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid' -``` -### Request Details -- **Method:** `PUT` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid` -- **Headers:** -```json -{ - "tenant-id": "header_val_tenant-id", - "Content-Type": "application/json", - "Accept": "application/json" -} - ``` -- **Query Parameters:** -```json -{ - "id": "dsid" -} - ``` -- **Body:** -```json -{ - "id": 12345, - "version": "example_string" -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0123s` -- **Headers:** -```json -{ - "Vary": "Origin", - "Access-Control-Allow-Origin": "*", - "Content-Type": "application/json; charset=utf-8", - "Content-Length": "60", - "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:02 GMT", - "Connection": "keep-alive", - "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 9, - "message": "et ut aliqua aliquip est", - "data": false -} - ``` - ---- -## `PUT http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid` -**cURL Command:** -```sh -curl -X PUT -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 29' -d '{"version": "example_string"}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid' -``` -### Request Details -- **Method:** `PUT` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid` -- **Headers:** -```json -{ - "tenant-id": "header_val_tenant-id", - "Content-Type": "application/json", - "Accept": "application/json" -} - ``` -- **Query Parameters:** -```json -{ - "id": "dsid" -} - ``` -- **Body:** -```json -{ - "version": "example_string" -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0218s` -- **Headers:** -```json -{ - "Vary": "Origin", - "Access-Control-Allow-Origin": "*", - "Content-Type": "application/json; charset=utf-8", - "Content-Length": "13", - "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:02 GMT", - "Connection": "keep-alive", - "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 4003 -} - ``` - ---- -## `PUT http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit` -**cURL Command:** -```sh -curl -X PUT -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 53' -d '{"id": "example_string", "version": "example_string"}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit -``` -### Request Details -- **Method:** `PUT` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit` -- **Headers:** -```json -{ - "tenant-id": "header_val_tenant-id", - "Content-Type": "application/json", - "Accept": "application/json" -} - ``` -- **Body:** -```json -{ - "id": "example_string", - "version": "example_string" -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0132s` -- **Headers:** -```json -{ - "Vary": "Origin", - "Access-Control-Allow-Origin": "*", - "Content-Type": "application/json; charset=utf-8", - "Content-Length": "54", - "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:02 GMT", - "Connection": "keep-alive", - "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 76, - "message": "ut do enim dolore", - "data": false -} - ``` - ---- -## `DELETE http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid` -**cURL Command:** -```sh -curl -X DELETE -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 57' -d '{"version": "example_string", "data": ["example_string"]}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid' -``` -### Request Details -- **Method:** `DELETE` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid` -- **Headers:** -```json -{ - "tenant-id": "header_val_tenant-id", - "Content-Type": "application/json", - "Accept": "application/json" -} - ``` -- **Query Parameters:** -```json -{ - "id": "dsid" -} - ``` -- **Body:** -```json -{ - "version": "example_string", - "data": [ - "example_string" - ] -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0134s` -- **Headers:** -```json -{ - "Vary": "Origin", - "Access-Control-Allow-Origin": "*", - "Content-Type": "application/json; charset=utf-8", - "Content-Length": "40", - "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:02 GMT", - "Connection": "keep-alive", - "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 85, - "message": "qui", - "data": false -} - ``` - ---- -## `DELETE http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid` -**cURL Command:** -```sh -curl -X DELETE -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 57' -d '{"version": "example_string", "data": ["example_string"]}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid' -``` -### Request Details -- **Method:** `DELETE` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid` -- **Headers:** -```json -{ - "tenant-id": "header_val_tenant-id", - "Content-Type": "application/json", - "Accept": "application/json" -} - ``` -- **Query Parameters:** -```json -{ - "id": "dsid" -} - ``` -- **Body:** -```json -{ - "version": "example_string", - "data": [ - "example_string" - ] -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0125s` -- **Headers:** -```json -{ - "Vary": "Origin", - "Access-Control-Allow-Origin": "*", - "Content-Type": "application/json; charset=utf-8", - "Content-Length": "57", - "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:02 GMT", - "Connection": "keep-alive", - "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 18, - "message": "id elit dolor ullamco", - "data": true -} - ``` - ---- -## `DELETE http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid` -**cURL Command:** -```sh -curl -X DELETE -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 57' -d '{"version": "example_string", "data": ["example_string"]}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid' -``` -### Request Details -- **Method:** `DELETE` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid` -- **Headers:** -```json -{ - "tenant-id": "header_val_tenant-id", - "Content-Type": "application/json", - "Accept": "application/json" -} - ``` -- **Query Parameters:** -```json -{ - "id": "dsid" -} - ``` -- **Body:** -```json -{ - "version": "example_string", - "data": [ - "example_string" - ] -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0160s` -- **Headers:** -```json -{ - "Vary": "Origin", - "Access-Control-Allow-Origin": "*", - "Content-Type": "application/json; charset=utf-8", - "Content-Length": "41", - "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:02 GMT", - "Connection": "keep-alive", - "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 12, - "message": "dolor", - "data": true -} - ``` - ---- -## `DELETE http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=12345` -**cURL Command:** -```sh -curl -X DELETE -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 57' -d '{"version": "example_string", "data": ["example_string"]}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=12345' -``` -### Request Details -- **Method:** `DELETE` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=12345` -- **Headers:** -```json -{ - "tenant-id": "header_val_tenant-id", - "Content-Type": "application/json", - "Accept": "application/json" -} - ``` -- **Query Parameters:** -```json -{ - "id": 12345 -} - ``` -- **Body:** -```json -{ - "version": "example_string", - "data": [ - "example_string" - ] -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0143s` -- **Headers:** -```json -{ - "Vary": "Origin", - "Access-Control-Allow-Origin": "*", - "Content-Type": "application/json; charset=utf-8", - "Content-Length": "41", - "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:03 GMT", - "Connection": "keep-alive", - "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 72, - "message": "dolor", - "data": true -} - ``` - ---- -## `DELETE http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid` -**cURL Command:** -```sh -curl -X DELETE -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 46' -d '{"version": 12345, "data": ["example_string"]}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid' -``` -### Request Details -- **Method:** `DELETE` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid` -- **Headers:** -```json -{ - "tenant-id": "header_val_tenant-id", - "Content-Type": "application/json", - "Accept": "application/json" -} - ``` -- **Query Parameters:** -```json -{ - "id": "dsid" -} - ``` -- **Body:** -```json -{ - "version": 12345, - "data": [ - "example_string" - ] -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0161s` -- **Headers:** -```json -{ - "Vary": "Origin", - "Access-Control-Allow-Origin": "*", - "Content-Type": "application/json; charset=utf-8", - "Content-Length": "69", - "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:03 GMT", - "Connection": "keep-alive", - "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 54, - "message": "do magna labore aliquip occaecat", - "data": false -} - ``` - ---- -## `DELETE http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid` -**cURL Command:** -```sh -curl -X DELETE -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 57' -d '{"version": "example_string", "data": ["example_string"]}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid' -``` -### Request Details -- **Method:** `DELETE` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit?id=dsid` -- **Headers:** -```json -{ - "tenant-id": "header_val_tenant-id", - "Content-Type": "application/json", - "Accept": "application/json" -} - ``` -- **Query Parameters:** -```json -{ - "id": "dsid" -} - ``` -- **Body:** -```json -{ - "version": "example_string", - "data": [ - "example_string" - ] -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0144s` -- **Headers:** -```json -{ - "Vary": "Origin", - "Access-Control-Allow-Origin": "*", - "Content-Type": "application/json; charset=utf-8", - "Content-Length": "59", - "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:03 GMT", - "Connection": "keep-alive", - "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 36, - "message": "minim nisi fugiat velit", - "data": true -} - ``` - ---- -## `DELETE http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit` -**cURL Command:** -```sh -curl -X DELETE -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 57' -d '{"version": "example_string", "data": ["example_string"]}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit -``` -### Request Details -- **Method:** `DELETE` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit` -- **Headers:** -```json -{ - "tenant-id": "header_val_tenant-id", - "Content-Type": "application/json", - "Accept": "application/json" -} - ``` -- **Body:** -```json -{ - "version": "example_string", - "data": [ - "example_string" - ] -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0130s` -- **Headers:** -```json -{ - "Vary": "Origin", - "Access-Control-Allow-Origin": "*", - "Content-Type": "application/json; charset=utf-8", - "Content-Length": "52", - "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:03 GMT", - "Connection": "keep-alive", - "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 52, - "message": "proident dolore", - "data": false -} - ``` - ---- -## `POST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit` -**cURL Command:** -```sh -curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 152' -d '{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit -``` -### Request Details -- **Method:** `POST` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit` -- **Headers:** -```json -{ - "tenant-id": "header_val_tenant-id", - "Content-Type": "application/json", - "Accept": "application/json" -} - ``` -- **Body:** -```json -{ - "version": "example_string", - "data": [ - { - "bsflag": 0.0, - "wellCommonName": "example_string", - "wellId": "example_string", - "dataRegion": "example_string" - } - ] -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0187s` -- **Headers:** -```json -{ - "Vary": "Origin", - "Access-Control-Allow-Origin": "*", - "Content-Type": "application/json; charset=utf-8", - "Content-Length": "39", - "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:03 GMT", - "Connection": "keep-alive", - "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 54, - "message": "ad", - "data": false -} - ``` - ---- -## `POST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit` -**cURL Command:** -```sh -curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 152' -d '{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit -``` -### Request Details -- **Method:** `POST` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit` -- **Headers:** -```json -{ - "tenant-id": "header_val_tenant-id", - "Content-Type": "application/json", - "Accept": "application/json" -} - ``` -- **Body:** -```json -{ - "version": "example_string", - "data": [ - { - "bsflag": 0.0, - "wellCommonName": "example_string", - "wellId": "example_string", - "dataRegion": "example_string" - } - ] -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0140s` -- **Headers:** -```json -{ - "Vary": "Origin", - "Access-Control-Allow-Origin": "*", - "Content-Type": "application/json; charset=utf-8", - "Content-Length": "58", - "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:03 GMT", - "Connection": "keep-alive", - "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 39, - "message": "voluptate commodo est", - "data": false -} - ``` - ---- -## `POST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit` -**cURL Command:** -```sh -curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 152' -d '{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit -``` -### Request Details -- **Method:** `POST` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit` -- **Headers:** -```json -{ - "tenant-id": "header_val_tenant-id", - "Content-Type": "application/json", - "Accept": "application/json" -} - ``` -- **Body:** -```json -{ - "version": "example_string", - "data": [ - { - "bsflag": 0.0, - "wellCommonName": "example_string", - "wellId": "example_string", - "dataRegion": "example_string" - } - ] -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0128s` -- **Headers:** -```json -{ - "Vary": "Origin", - "Access-Control-Allow-Origin": "*", - "Content-Type": "application/json; charset=utf-8", - "Content-Length": "70", - "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:03 GMT", - "Connection": "keep-alive", - "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 5, - "message": "deserunt labore Excepteur veniam do", - "data": true -} - ``` - ---- -## `POST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit` -**cURL Command:** -```sh -curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 152' -d '{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit -``` -### Request Details -- **Method:** `POST` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit` -- **Headers:** -```json -{ - "tenant-id": "header_val_tenant-id", - "Content-Type": "application/json", - "Accept": "application/json" -} - ``` -- **Body:** -```json -{ - "version": "example_string", - "data": [ - { - "bsflag": 0.0, - "wellCommonName": "example_string", - "wellId": "example_string", - "dataRegion": "example_string" - } - ] -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0129s` -- **Headers:** -```json -{ - "Vary": "Origin", - "Access-Control-Allow-Origin": "*", - "Content-Type": "application/json; charset=utf-8", - "Content-Length": "51", - "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:03 GMT", - "Connection": "keep-alive", - "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 45, - "message": "Lorem dolor et", - "data": false -} - ``` - ---- -## `POST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit` -**cURL Command:** -```sh -curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 141' -d '{"version": 12345, "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit -``` -### Request Details -- **Method:** `POST` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit` -- **Headers:** -```json -{ - "tenant-id": "header_val_tenant-id", - "Content-Type": "application/json", - "Accept": "application/json" -} - ``` -- **Body:** -```json -{ - "version": 12345, - "data": [ - { - "bsflag": 0.0, - "wellCommonName": "example_string", - "wellId": "example_string", - "dataRegion": "example_string" - } - ] -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0130s` -- **Headers:** -```json -{ - "Vary": "Origin", - "Access-Control-Allow-Origin": "*", - "Content-Type": "application/json; charset=utf-8", - "Content-Length": "54", - "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:03 GMT", - "Connection": "keep-alive", - "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 92, - "message": "tempor ut aliquip", - "data": false -} - ``` - ---- -## `POST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit` -**cURL Command:** -```sh -curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 137' -d '{"version": "example_string", "data": [{"wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit -``` -### Request Details -- **Method:** `POST` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit` -- **Headers:** -```json -{ - "tenant-id": "header_val_tenant-id", - "Content-Type": "application/json", - "Accept": "application/json" -} - ``` -- **Body:** -```json -{ - "version": "example_string", - "data": [ - { - "wellCommonName": "example_string", - "wellId": "example_string", - "dataRegion": "example_string" - } - ] -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0167s` -- **Headers:** -```json -{ - "Vary": "Origin", - "Access-Control-Allow-Origin": "*", - "Content-Type": "application/json; charset=utf-8", - "Content-Length": "49", - "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:03 GMT", - "Connection": "keep-alive", - "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 35, - "message": "tempor culpa", - "data": false -} - ``` - ---- -## `POST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit` -**cURL Command:** -```sh -curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 152' -d '{"version": "example_string", "data": [{"bsflag": 0.0, "wellCommonName": "example_string", "wellId": "example_string", "dataRegion": "example_string"}]}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit -``` -### Request Details -- **Method:** `POST` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit` -- **Headers:** -```json -{ - "tenant-id": "header_val_tenant-id", - "Content-Type": "application/json", - "Accept": "application/json" -} - ``` -- **Body:** -```json -{ - "version": "example_string", - "data": [ - { - "bsflag": 0.0, - "wellCommonName": "example_string", - "wellId": "example_string", - "dataRegion": "example_string" - } - ] -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0192s` -- **Headers:** -```json -{ - "Vary": "Origin", - "Access-Control-Allow-Origin": "*", - "Content-Type": "application/json; charset=utf-8", - "Content-Length": "62", - "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:03 GMT", - "Connection": "keep-alive", - "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 38, - "message": "nulla ad ullamco Lorem qui", - "data": true -} - ``` - ---- -## `GET http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id` -**cURL Command:** -```sh -curl -X GET -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id -``` -### Request Details -- **Method:** `GET` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id` -- **Headers:** -```json -{ - "tenant-id": "header_val_tenant-id", - "Content-Type": "application/json", - "Accept": "application/json" -} - ``` -- **Body:** -```json -{ - "isSearchCount": true, - "query": { - "dataRegions": [ - "example_string" - ], - "fields": [ - "example_string" - ], - "filter": { - "key": "example_string", - "logic": "example_string", - "realValue": [ - {} - ], - "singleValue": {}, - "subFilter": [ - "example_string" - ], - "symbol": "example_string" - }, - "groupFields": [ - "example_string" - ], - "groupFilter": { - "key": "example_string", - "logic": "example_string", - "realValue": [ - {} - ], - "singleValue": {}, - "subFilter": [ - "example_string" - ], - "symbol": "example_string" - }, - "sort": {} - } -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0139s` -- **Headers:** -```json -{ - "Vary": "Origin", - "Access-Control-Allow-Origin": "*", - "Content-Type": "application/json; charset=utf-8", - "Content-Length": "415", - "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:03 GMT", - "Connection": "keep-alive", - "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 11, - "message": "velit ullamco nulla occaecat est", - "data": { - "total": 4, - "list": [ - { - "dsid": "62", - "dataRegion": "sint eiusmod minim eu", - "gasReleaseMon": null, - "gasReleaseYear": null, - "releaseGasCum": null - }, - { - "dsid": "2", - "dataRegion": "anim Duis", - "gasReleaseMon": null, - "gasReleaseYear": null, - "releaseGasCum": null - }, - { - "dsid": "71", - "dataRegion": "nostrud do cupidatat", - "gasReleaseMon": null, - "gasReleaseYear": null, - "releaseGasCum": null - } - ] - } -} - ``` - ---- -## `GET http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id` -**cURL Command:** -```sh -curl -X GET -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id -``` -### Request Details -- **Method:** `GET` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id` -- **Headers:** -```json -{ - "tenant-id": "header_val_tenant-id", - "Content-Type": "application/json", - "Accept": "application/json" -} - ``` -- **Body:** -```json -{ - "isSearchCount": true, - "query": { - "dataRegions": [ - "example_string" - ], - "fields": [ - "example_string" - ], - "filter": { - "key": "example_string", - "logic": "example_string", - "realValue": [ - {} - ], - "singleValue": {}, - "subFilter": [ - "example_string" - ], - "symbol": "example_string" - }, - "groupFields": [ - "example_string" - ], - "groupFilter": { - "key": "example_string", - "logic": "example_string", - "realValue": [ - {} - ], - "singleValue": {}, - "subFilter": [ - "example_string" - ], - "symbol": "example_string" - }, - "sort": {} - } -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0131s` -- **Headers:** -```json -{ - "Vary": "Origin", - "Access-Control-Allow-Origin": "*", - "Content-Type": "application/json; charset=utf-8", - "Content-Length": "310", - "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:03 GMT", - "Connection": "keep-alive", - "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 38, - "message": "sit aliquip dolore pariatur", - "data": { - "total": 94, - "list": [ - { - "dsid": "69", - "dataRegion": "dolore", - "gasReleaseMon": null, - "gasReleaseYear": null, - "releaseGasCum": null - }, - { - "dsid": "22", - "dataRegion": "aliquip dolore aliqua nisi voluptate", - "gasReleaseMon": null, - "gasReleaseYear": null, - "releaseGasCum": null - } - ] - } -} - ``` - ---- -## `GET http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id` -**cURL Command:** -```sh -curl -X GET -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id -``` -### Request Details -- **Method:** `GET` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id` -- **Headers:** -```json -{ - "tenant-id": "header_val_tenant-id", - "Content-Type": "application/json", - "Accept": "application/json" -} - ``` -- **Body:** -```json -{ - "isSearchCount": true, - "query": { - "dataRegions": [ - "example_string" - ], - "fields": [ - "example_string" - ], - "filter": { - "key": "example_string", - "logic": "example_string", - "realValue": [ - {} - ], - "singleValue": {}, - "subFilter": [ - "example_string" - ], - "symbol": "example_string" - }, - "groupFields": [ - "example_string" - ], - "groupFilter": { - "key": "example_string", - "logic": "example_string", - "realValue": [ - {} - ], - "singleValue": {}, - "subFilter": [ - "example_string" - ], - "symbol": "example_string" - }, - "sort": {} - } -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0126s` -- **Headers:** -```json -{ - "Vary": "Origin", - "Access-Control-Allow-Origin": "*", - "Content-Type": "application/json; charset=utf-8", - "Content-Length": "432", - "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:03 GMT", - "Connection": "keep-alive", - "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 25, - "message": "Ut cupidatat cillum", - "data": { - "total": 95, - "list": [ - { - "dsid": "34", - "dataRegion": "amet dolor voluptate dolore", - "gasReleaseMon": null, - "gasReleaseYear": null, - "releaseGasCum": null - }, - { - "dsid": "60", - "dataRegion": "dolore commodo", - "gasReleaseMon": null, - "gasReleaseYear": null, - "releaseGasCum": null - }, - { - "dsid": "76", - "dataRegion": "pariatur exercitation voluptate dolor", - "gasReleaseMon": null, - "gasReleaseYear": null, - "releaseGasCum": null - } - ] - } -} - ``` - ---- -## `GET http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id` -**cURL Command:** -```sh -curl -X GET -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id -``` -### Request Details -- **Method:** `GET` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id` -- **Headers:** -```json -{ - "tenant-id": "header_val_tenant-id", - "Content-Type": "application/json", - "Accept": "application/json" -} - ``` -- **Body:** -```json -{ - "isSearchCount": true, - "query": { - "dataRegions": [ - "example_string" - ], - "fields": [ - "example_string" - ], - "filter": { - "key": "example_string", - "logic": "example_string", - "realValue": [ - {} - ], - "singleValue": {}, - "subFilter": [ - "example_string" - ], - "symbol": "example_string" - }, - "groupFields": [ - "example_string" - ], - "groupFilter": { - "key": "example_string", - "logic": "example_string", - "realValue": [ - {} - ], - "singleValue": {}, - "subFilter": [ - "example_string" - ], - "symbol": "example_string" - }, - "sort": {} - } -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0123s` -- **Headers:** -```json -{ - "Vary": "Origin", - "Access-Control-Allow-Origin": "*", - "Content-Type": "application/json; charset=utf-8", - "Content-Length": "382", - "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:03 GMT", - "Connection": "keep-alive", - "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 14, - "message": "proident", - "data": { - "total": 2, - "list": [ - { - "dsid": "71", - "dataRegion": "deserunt occaecat", - "gasReleaseMon": null, - "gasReleaseYear": null, - "releaseGasCum": null - }, - { - "dsid": "75", - "dataRegion": "in voluptate ullamco", - "gasReleaseMon": null, - "gasReleaseYear": null, - "releaseGasCum": null - }, - { - "dsid": "70", - "dataRegion": "qui", - "gasReleaseMon": null, - "gasReleaseYear": null, - "releaseGasCum": null - } - ] - } -} - ``` - ---- -## `GET http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id` -**cURL Command:** -```sh -curl -X GET -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 488' -d '{"isSearchCount": "not-a-boolean", "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id -``` -### Request Details -- **Method:** `GET` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id` -- **Headers:** -```json -{ - "tenant-id": "header_val_tenant-id", - "Content-Type": "application/json", - "Accept": "application/json" -} - ``` -- **Body:** -```json -{ - "isSearchCount": "not-a-boolean", - "query": { - "dataRegions": [ - "example_string" - ], - "fields": [ - "example_string" - ], - "filter": { - "key": "example_string", - "logic": "example_string", - "realValue": [ - {} - ], - "singleValue": {}, - "subFilter": [ - "example_string" - ], - "symbol": "example_string" - }, - "groupFields": [ - "example_string" - ], - "groupFilter": { - "key": "example_string", - "logic": "example_string", - "realValue": [ - {} - ], - "singleValue": {}, - "subFilter": [ - "example_string" - ], - "symbol": "example_string" - }, - "sort": {} - } -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0147s` -- **Headers:** -```json -{ - "Vary": "Origin", - "Access-Control-Allow-Origin": "*", - "Content-Type": "application/json; charset=utf-8", - "Content-Length": "183", - "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:03 GMT", - "Connection": "keep-alive", - "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 62, - "message": "eu magna culpa nisi", - "data": { - "total": 75, - "list": [ - { - "dsid": "41", - "dataRegion": "culpa mollit sunt", - "gasReleaseMon": null, - "gasReleaseYear": null, - "releaseGasCum": null - } - ] - } -} - ``` - ---- -## `GET http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id` -**cURL Command:** -```sh -curl -X GET -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id -``` -### Request Details -- **Method:** `GET` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id` -- **Headers:** -```json -{ - "tenant-id": "header_val_tenant-id", - "Content-Type": "application/json", - "Accept": "application/json" -} - ``` -- **Body:** -```json -{ - "isSearchCount": true, - "query": { - "dataRegions": [ - "example_string" - ], - "fields": [ - "example_string" - ], - "filter": { - "key": "example_string", - "logic": "example_string", - "realValue": [ - {} - ], - "singleValue": {}, - "subFilter": [ - "example_string" - ], - "symbol": "example_string" - }, - "groupFields": [ - "example_string" - ], - "groupFilter": { - "key": "example_string", - "logic": "example_string", - "realValue": [ - {} - ], - "singleValue": {}, - "subFilter": [ - "example_string" - ], - "symbol": "example_string" - }, - "sort": {} - } -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0165s` -- **Headers:** -```json -{ - "Vary": "Origin", - "Access-Control-Allow-Origin": "*", - "Content-Type": "application/json; charset=utf-8", - "Content-Length": "162", - "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:03 GMT", - "Connection": "keep-alive", - "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 75, - "message": "et", - "data": { - "total": 93, - "list": [ - { - "dsid": "96", - "dataRegion": "do enim nulla", - "gasReleaseMon": null, - "gasReleaseYear": null, - "releaseGasCum": null - } - ] - } -} - ``` - ---- -## `GET http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id` -**cURL Command:** -```sh -curl -X GET -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id -``` -### Request Details -- **Method:** `GET` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id` -- **Headers:** -```json -{ - "tenant-id": "header_val_tenant-id", - "Content-Type": "application/json", - "Accept": "application/json" -} - ``` -- **Body:** -```json -{ - "isSearchCount": true, - "query": { - "dataRegions": [ - "example_string" - ], - "fields": [ - "example_string" - ], - "filter": { - "key": "example_string", - "logic": "example_string", - "realValue": [ - {} - ], - "singleValue": {}, - "subFilter": [ - "example_string" - ], - "symbol": "example_string" - }, - "groupFields": [ - "example_string" - ], - "groupFilter": { - "key": "example_string", - "logic": "example_string", - "realValue": [ - {} - ], - "singleValue": {}, - "subFilter": [ - "example_string" - ], - "symbol": "example_string" - }, - "sort": {} - } -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0136s` -- **Headers:** -```json -{ - "Vary": "Origin", - "Access-Control-Allow-Origin": "*", - "Content-Type": "application/json; charset=utf-8", - "Content-Length": "395", - "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:03 GMT", - "Connection": "keep-alive", - "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 15, - "message": "sunt nisi enim", - "data": { - "total": 45, - "list": [ { "dsid": "37", - "dataRegion": "reprehenderit", + "dataRegion": "do consectetur eu dolor", "gasReleaseMon": null, "gasReleaseYear": null, "releaseGasCum": null }, { - "dsid": "97", - "dataRegion": "amet anim esse", - "gasReleaseMon": null, - "gasReleaseYear": null, - "releaseGasCum": null - }, - { - "dsid": "30", - "dataRegion": "sunt Ut enim et sit", + "dsid": "34", + "dataRegion": "elit Duis magna in qui", "gasReleaseMon": null, "gasReleaseYear": null, "releaseGasCum": null } ] } -} - ``` - ---- -## `POST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/your_dms_instance_code/v1/cd_geo_unit` -**cURL Command:** -```sh -curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: your-tenant-id' -H 'Content-Type: application/json' -H 'Authorization: Bearer your-test-token' -H 'Content-Length: 120' -d '{"version": "1.0.0", "data": [{"wellCommonName": "TestResource_1749119283_3c0f3c", "dataRegion": "Feature_1749119283"}]}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/your_dms_instance_code/v1/cd_geo_unit -``` -### Request Details -- **Method:** `POST` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/your_dms_instance_code/v1/cd_geo_unit` -- **Headers:** -```json -{ +}\n```\n\n
\n\n---\n\n
\nGET http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id - 状态: 200 - 耗时: 15.03ms\n\n#### 请求 (Request)\n- **Method:** `GET`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id`\n- **Headers:**\n```json\n{ + "tenant-id": "header_val_tenant-id", + "Content-Type": "application/json", + "Accept": "application/json" +}\n```\n- **Request Body:**\n```json\n{ + "isSearchCount": "not-a-boolean", + "query": { + "dataRegions": [ + "example_string" + ], + "fields": [ + "example_string" + ], + "filter": { + "key": "example_string", + "logic": "example_string", + "realValue": [ + {} + ], + "singleValue": {}, + "subFilter": [ + "example_string" + ], + "symbol": "example_string" + }, + "groupFields": [ + "example_string" + ], + "groupFilter": { + "key": "example_string", + "logic": "example_string", + "realValue": [ + {} + ], + "singleValue": {}, + "subFilter": [ + "example_string" + ], + "symbol": "example_string" + }, + "sort": {} + } +}\n```\n- **cURL Command:**\n```bash\ncurl -X GET -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 488' -d '{"isSearchCount": "not-a-boolean", "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 15.03 ms\n- **Response Headers:**\n```json\n{ + "Vary": "Origin", + "Access-Control-Allow-Origin": "*", + "Content-Type": "application/json; charset=utf-8", + "Content-Length": "427", + "success": "false", + "Date": "Fri, 06 Jun 2025 06:51:49 GMT", + "Connection": "keep-alive", + "Keep-Alive": "timeout=5" +}\n```\n- **Response Body:**\n```json\n{ + "code": 10, + "message": "et ut consequat laboris", + "data": { + "total": 54, + "list": [ + { + "dsid": "22", + "dataRegion": "deserunt incididunt", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + }, + { + "dsid": "80", + "dataRegion": "ullamco id et consectetur cillum", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + }, + { + "dsid": "10", + "dataRegion": "anim eu aliquip et", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + } + ] + } +}\n```\n\n
\n\n---\n\n
\nGET http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id - 状态: 200 - 耗时: 13.17ms\n\n#### 请求 (Request)\n- **Method:** `GET`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id`\n- **Headers:**\n```json\n{ + "tenant-id": "header_val_tenant-id", + "Content-Type": "application/json", + "Accept": "application/json" +}\n```\n- **Request Body:**\n```json\n{ + "isSearchCount": true, + "query": { + "dataRegions": [ + "example_string" + ], + "fields": [ + "example_string" + ], + "filter": { + "key": "example_string", + "logic": "example_string", + "realValue": [ + {} + ], + "singleValue": {}, + "subFilter": [ + "example_string" + ], + "symbol": "example_string" + }, + "groupFields": [ + "example_string" + ], + "groupFilter": { + "key": "example_string", + "logic": "example_string", + "realValue": [ + {} + ], + "singleValue": {}, + "subFilter": [ + "example_string" + ], + "symbol": "example_string" + }, + "sort": {} + } +}\n```\n- **cURL Command:**\n```bash\ncurl -X GET -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 13.17 ms\n- **Response Headers:**\n```json\n{ + "Vary": "Origin", + "Access-Control-Allow-Origin": "*", + "Content-Type": "application/json; charset=utf-8", + "Content-Length": "185", + "success": "false", + "Date": "Fri, 06 Jun 2025 06:51:49 GMT", + "Connection": "keep-alive", + "Keep-Alive": "timeout=5" +}\n```\n- **Response Body:**\n```json\n{ + "code": 11, + "message": "nisi", + "data": { + "total": 64, + "list": [ + { + "dsid": "4", + "dataRegion": "adipisicing Lorem cupidatat commodo", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + } + ] + } +}\n```\n\n
\n\n---\n\n
\nGET http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id - 状态: 200 - 耗时: 15.10ms\n\n#### 请求 (Request)\n- **Method:** `GET`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id`\n- **Headers:**\n```json\n{ + "tenant-id": "header_val_tenant-id", + "Content-Type": "application/json", + "Accept": "application/json" +}\n```\n- **Request Body:**\n```json\n{ + "isSearchCount": true, + "query": { + "dataRegions": [ + "example_string" + ], + "fields": [ + "example_string" + ], + "filter": { + "key": "example_string", + "logic": "example_string", + "realValue": [ + {} + ], + "singleValue": {}, + "subFilter": [ + "example_string" + ], + "symbol": "example_string" + }, + "groupFields": [ + "example_string" + ], + "groupFilter": { + "key": "example_string", + "logic": "example_string", + "realValue": [ + {} + ], + "singleValue": {}, + "subFilter": [ + "example_string" + ], + "symbol": "example_string" + }, + "sort": {} + } +}\n```\n- **cURL Command:**\n```bash\ncurl -X GET -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: header_val_tenant-id' -H 'Content-Type: application/json' -H 'Content-Length: 477' -d '{"isSearchCount": true, "query": {"dataRegions": ["example_string"], "fields": ["example_string"], "filter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "groupFields": ["example_string"], "groupFilter": {"key": "example_string", "logic": "example_string", "realValue": [{}], "singleValue": {}, "subFilter": ["example_string"], "symbol": "example_string"}, "sort": {}}}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 15.10 ms\n- **Response Headers:**\n```json\n{ + "Vary": "Origin", + "Access-Control-Allow-Origin": "*", + "Content-Type": "application/json; charset=utf-8", + "Content-Length": "318", + "success": "false", + "Date": "Fri, 06 Jun 2025 06:51:49 GMT", + "Connection": "keep-alive", + "Keep-Alive": "timeout=5" +}\n```\n- **Response Body:**\n```json\n{ + "code": 64, + "message": "cupidatat", + "data": { + "total": 30, + "list": [ + { + "dsid": "39", + "dataRegion": "voluptate magna consequat incididunt", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + }, + { + "dsid": "29", + "dataRegion": "officia ullamco do reprehenderit", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + } + ] + } +}\n```\n\n
\n\n---\n\n
\nPOST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/your_dms_instance_code/v1/cd_geo_unit - 状态: 200 - 耗时: 14.80ms\n\n#### 请求 (Request)\n- **Method:** `POST`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/your_dms_instance_code/v1/cd_geo_unit`\n- **Headers:**\n```json\n{ "tenant-id": "your-tenant-id", "Content-Type": "application/json", "Accept": "application/json", "Authorization": "Bearer your-test-token" -} - ``` -- **Body:** -```json -{ +}\n```\n- **Request Body:**\n```json\n{ "version": "1.0.0", "data": [ { - "wellCommonName": "TestResource_1749119283_3c0f3c", - "dataRegion": "Feature_1749119283" + "wellCommonName": "TestResource_1749192709_93a75f", + "dataRegion": "Feature_1749192709" } ] -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0121s` -- **Headers:** -```json -{ +}\n```\n- **cURL Command:**\n```bash\ncurl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: your-tenant-id' -H 'Content-Type: application/json' -H 'Authorization: Bearer your-test-token' -H 'Content-Length: 120' -d '{"version": "1.0.0", "data": [{"wellCommonName": "TestResource_1749192709_93a75f", "dataRegion": "Feature_1749192709"}]}' --insecure http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/your_dms_instance_code/v1/cd_geo_unit\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 14.80 ms\n- **Response Headers:**\n```json\n{ "Vary": "Origin", "Access-Control-Allow-Origin": "*", "Content-Type": "application/json; charset=utf-8", - "Content-Length": "59", + "Content-Length": "42", "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:03 GMT", + "Date": "Fri, 06 Jun 2025 06:51:49 GMT", "Connection": "keep-alive", "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 32, - "message": "esse nulla adipisicing", - "data": false -} - ``` - ---- -## `POST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/your_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=1&pageSize=10` -**cURL Command:** -```sh -curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: your-tenant-id' -H 'Content-Type: application/json' -H 'Authorization: Bearer your-test-token' -H 'Content-Length: 187' -d '{"isSearchCount": true, "query": {"fields": ["dsid", "wellCommonName", "dataRegion"], "filter": {"key": "wellCommonName", "symbol": "=", "realValue": ["TestResource_1749119283_3c0f3c"]}}}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/your_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=1&pageSize=10' -``` -### Request Details -- **Method:** `POST` -- **Full URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/your_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=1&pageSize=10` -- **Headers:** -```json -{ +}\n```\n- **Response Body:**\n```json\n{ + "code": 31, + "message": "labore", + "data": true +}\n```\n\n
\n\n---\n\n
\nPOST http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/your_dms_instance_code/v1/cd_geo_unit/1.0.0 - 状态: 200 - 耗时: 12.73ms\n\n#### 请求 (Request)\n- **Method:** `POST`\n- **URL:** `http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/your_dms_instance_code/v1/cd_geo_unit/1.0.0`\n- **Headers:**\n```json\n{ "tenant-id": "your-tenant-id", "Content-Type": "application/json", "Accept": "application/json", "Authorization": "Bearer your-test-token" -} - ``` -- **Query Parameters:** -```json -{ +}\n```\n- **Query Parameters:**\n```json\n{ "pageNo": 1, "pageSize": 10 -} - ``` -- **Body:** -```json -{ +}\n```\n- **Request Body:**\n```json\n{ "isSearchCount": true, "query": { "fields": [ @@ -3442,60 +2087,46 @@ curl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, "key": "wellCommonName", "symbol": "=", "realValue": [ - "TestResource_1749119283_3c0f3c" + "TestResource_1749192709_93a75f" ] } } -} - ``` -### Response Details -- **Status Code:** `200` -- **Elapsed Time:** `0.0129s` -- **Headers:** -```json -{ +}\n```\n- **cURL Command:**\n```bash\ncurl -H 'User-Agent: python-requests/2.32.3' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'tenant-id: your-tenant-id' -H 'Content-Type: application/json' -H 'Authorization: Bearer your-test-token' -H 'Content-Length: 187' -d '{"isSearchCount": true, "query": {"fields": ["dsid", "wellCommonName", "dataRegion"], "filter": {"key": "wellCommonName", "symbol": "=", "realValue": ["TestResource_1749192709_93a75f"]}}}' --insecure 'http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/your_dms_instance_code/v1/cd_geo_unit/1.0.0?pageNo=1&pageSize=10'\n```\n\n#### 响应 (Response)\n- **Status Code:** `200`\n- **Elapsed Time:** 12.73 ms\n- **Response Headers:**\n```json\n{ "Vary": "Origin", "Access-Control-Allow-Origin": "*", "Content-Type": "application/json; charset=utf-8", - "Content-Length": "386", + "Content-Length": "387", "success": "false", - "Date": "Thu, 05 Jun 2025 10:28:03 GMT", + "Date": "Fri, 06 Jun 2025 06:51:49 GMT", "Connection": "keep-alive", "Keep-Alive": "timeout=5" -} - ``` -- **Body:** -```json -{ - "code": 98, - "message": "Duis proident magna nulla", +}\n```\n- **Response Body:**\n```json\n{ + "code": 61, + "message": "in reprehenderit", "data": { - "total": 61, + "total": 47, "list": [ + { + "dsid": "47", + "dataRegion": "et eiusmod ut veniam dolore", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + }, { "dsid": "16", - "dataRegion": "pariatur dolore", + "dataRegion": "sunt", "gasReleaseMon": null, "gasReleaseYear": null, "releaseGasCum": null }, { - "dsid": "69", - "dataRegion": "Ut", - "gasReleaseMon": null, - "gasReleaseYear": null, - "releaseGasCum": null - }, - { - "dsid": "25", - "dataRegion": "ut in sed", + "dsid": "80", + "dataRegion": "Lorem", "gasReleaseMon": null, "gasReleaseYear": null, "releaseGasCum": null } ] } -} - ``` - ---- \ No newline at end of file +}\n```\n\n
\n\n---\n\n \ No newline at end of file diff --git a/test_reports/summary_report.json b/test_reports/summary_report.json new file mode 100644 index 0000000..3949ef0 --- /dev/null +++ b/test_reports/summary_report.json @@ -0,0 +1,1091 @@ +{ + "start_time": "2025-06-06T13:53:10.172079", + "end_time": "2025-06-06T13:53:11.207955", + "duration_seconds": "1.04", + "overall_summary": { + "total_endpoints_defined": 6, + "endpoints_tested": 6, + "endpoints_passed": 0, + "endpoints_failed": 6, + "endpoints_error": 0, + "endpoints_skipped": 0, + "endpoints_partial_success": 0, + "endpoint_success_rate": "0.00%", + "total_test_cases_applicable": 42, + "total_test_cases_executed": 42, + "test_cases_passed": 24, + "test_cases_failed": 18, + "test_cases_error": 0, + "test_cases_skipped_in_endpoint": 0, + "test_case_success_rate": "57.14%", + "total_stages_defined": 1, + "total_stages_executed": 1, + "stages_passed": 0, + "stages_failed": 1, + "stages_error": 0, + "stages_skipped": 0, + "stage_success_rate": "0.00%" + }, + "errors": [], + "endpoint_results": [ + { + "endpoint_id": "POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}", + "endpoint_name": "数据推送接口", + "overall_status": "失败", + "duration_seconds": 0.395623, + "start_time": "2025-06-06T13:53:10.172995", + "end_time": "2025-06-06T13:53:10.568618", + "executed_test_cases": [ + { + "test_case_id": "TC-STATUS-001", + "test_case_name": "基本状态码 200 检查", + "test_case_severity": "严重", + "status": "通过", + "message": "响应状态码为 200,符合预期 200。", + "duration_seconds": 0.26096183299887343, + "timestamp": "2025-06-06T13:53:10.434089", + "validation_points": [ + { + "passed": true, + "message": "响应状态码为 200,符合预期 200。" + } + ] + }, + { + "test_case_id": "TC-CORE-FUNC-001", + "test_case_name": "Response Body JSON Schema Validation", + "test_case_severity": "严重", + "status": "通过", + "message": "Schema验证步骤完成(未发现问题,或schema不适用/未为此响应定义)。", + "duration_seconds": 0.02282766700045613, + "timestamp": "2025-06-06T13:53:10.457234", + "validation_points": [ + { + "passed": true, + "message": "Schema验证步骤完成(未发现问题,或schema不适用/未为此响应定义)。" + } + ] + }, + { + "test_case_id": "TC-SECURITY-001", + "test_case_name": "HTTPS Protocol Mandatory Verification", + "test_case_severity": "严重", + "status": "失败", + "message": "API通过HTTP (http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version) 响应了成功的状态码 200,这违反了HTTPS强制策略。", + "duration_seconds": 0.02275595900027838, + "timestamp": "2025-06-06T13:53:10.480036", + "validation_points": [ + { + "status_code": 200 + } + ] + }, + { + "test_case_id": "TC-ERROR-4001-QUERY", + "test_case_name": "Error Code 4001 - Query Parameter Type Mismatch Validation", + "test_case_severity": "中", + "status": "通过", + "message": "跳过测试:在查询参数中未找到合适的字段来测试类型不匹配。", + "duration_seconds": 0.022829749999800697, + "timestamp": "2025-06-06T13:53:10.502918", + "validation_points": [ + { + "passed": true, + "message": "跳过测试:在查询参数中未找到合适的字段来测试类型不匹配。" + } + ] + }, + { + "test_case_id": "TC-ERROR-4001-BODY", + "test_case_name": "Error Code 4001 - Request Body Type Mismatch Validation", + "test_case_severity": "中", + "status": "失败", + "message": "当请求体字段 'isSearchCount' 类型不匹配时,期望API返回状态码在 [400, 422] 中,或返回4xx客户端错误且业务码为 '4001'. 实际收到状态码 200. 响应体中的业务码 ('code') 为 '48'.", + "duration_seconds": 0.025692915998661192, + "timestamp": "2025-06-06T13:53:10.528688", + "validation_points": [ + { + "status_code": 200, + "response_body": { + "code": 48, + "message": "anim aliqua", + "data": { + "total": 38, + "list": [ + { + "dsid": "44", + "dataRegion": "consequat et anim ut", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + }, + { + "dsid": "86", + "dataRegion": "ad minim proident", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + }, + { + "dsid": "72", + "dataRegion": "exercitation", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + } + ] + } + }, + "expected_http_status_codes": [ + 400, + 422 + ], + "expected_business_code": "4001", + "mismatched_field": "body.isSearchCount" + } + ] + }, + { + "test_case_id": "TC-ERROR-4003-BODY", + "test_case_name": "Error Code 4003 - Missing Required Request Body Field Validation", + "test_case_severity": "高", + "status": "通过", + "message": "跳过测试:在API规范中未找到合适的必填请求体字段用于移除测试。", + "duration_seconds": 0.019248083999627852, + "timestamp": "2025-06-06T13:53:10.547981", + "validation_points": [ + { + "passed": true, + "message": "跳过测试:在API规范中未找到合适的必填请求体字段用于移除测试。" + } + ] + }, + { + "test_case_id": "TC-ERROR-4003-QUERY", + "test_case_name": "Error Code 4003 - Missing Required Query Parameter Validation", + "test_case_severity": "高", + "status": "通过", + "message": "跳过测试:在API规范中未找到合适的必填查询参数用于移除测试。", + "duration_seconds": 0.020521917000223766, + "timestamp": "2025-06-06T13:53:10.568582", + "validation_points": [ + { + "passed": true, + "message": "跳过测试:在API规范中未找到合适的必填查询参数用于移除测试。" + } + ] + } + ] + }, + { + "endpoint_id": "POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}", + "endpoint_name": "地质单元列表查询", + "overall_status": "失败", + "duration_seconds": 0.139168, + "start_time": "2025-06-06T13:53:10.568743", + "end_time": "2025-06-06T13:53:10.707911", + "executed_test_cases": [ + { + "test_case_id": "TC-STATUS-001", + "test_case_name": "基本状态码 200 检查", + "test_case_severity": "严重", + "status": "通过", + "message": "响应状态码为 200,符合预期 200。", + "duration_seconds": 0.020759208000526996, + "timestamp": "2025-06-06T13:53:10.589611", + "validation_points": [ + { + "passed": true, + "message": "响应状态码为 200,符合预期 200。" + } + ] + }, + { + "test_case_id": "TC-CORE-FUNC-001", + "test_case_name": "Response Body JSON Schema Validation", + "test_case_severity": "严重", + "status": "通过", + "message": "Schema验证步骤完成(未发现问题,或schema不适用/未为此响应定义)。", + "duration_seconds": 0.01967112500096846, + "timestamp": "2025-06-06T13:53:10.609410", + "validation_points": [ + { + "passed": true, + "message": "Schema验证步骤完成(未发现问题,或schema不适用/未为此响应定义)。" + } + ] + }, + { + "test_case_id": "TC-SECURITY-001", + "test_case_name": "HTTPS Protocol Mandatory Verification", + "test_case_severity": "严重", + "status": "失败", + "message": "API通过HTTP (http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0) 响应了成功的状态码 200,这违反了HTTPS强制策略。", + "duration_seconds": 0.02585029100009706, + "timestamp": "2025-06-06T13:53:10.635305", + "validation_points": [ + { + "status_code": 200 + } + ] + }, + { + "test_case_id": "TC-ERROR-4001-QUERY", + "test_case_name": "Error Code 4001 - Query Parameter Type Mismatch Validation", + "test_case_severity": "中", + "status": "失败", + "message": "当查询参数 'pageNo' (路径: 'pageNo') 类型不匹配时,期望API返回状态码在 [400, 422] 中,或返回4xx客户端错误且业务码为 '4001'. 实际收到状态码 200. 响应体中的业务码 ('code') 为 '33'.", + "duration_seconds": 0.018051707998893107, + "timestamp": "2025-06-06T13:53:10.653414", + "validation_points": [ + { + "status_code": 200, + "response_body": { + "code": 33, + "message": "quis", + "data": { + "total": 49, + "list": [ + { + "dsid": "24", + "dataRegion": "non", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + } + ] + } + }, + "expected_http_status_codes": [ + 400, + 422 + ], + "expected_business_code": "4001", + "mismatched_param": "pageNo" + } + ] + }, + { + "test_case_id": "TC-ERROR-4001-BODY", + "test_case_name": "Error Code 4001 - Request Body Type Mismatch Validation", + "test_case_severity": "中", + "status": "失败", + "message": "当请求体字段 'isSearchCount' 类型不匹配时,期望API返回状态码在 [400, 422] 中,或返回4xx客户端错误且业务码为 '4001'. 实际收到状态码 200. 响应体中的业务码 ('code') 为 '19'.", + "duration_seconds": 0.02016833299967402, + "timestamp": "2025-06-06T13:53:10.673671", + "validation_points": [ + { + "status_code": 200, + "response_body": { + "code": 19, + "message": "non proident voluptate", + "data": { + "total": 48, + "list": [ + { + "dsid": "48", + "dataRegion": "mollit Duis anim nulla in", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + }, + { + "dsid": "35", + "dataRegion": "cillum in", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + } + ] + } + }, + "expected_http_status_codes": [ + 400, + 422 + ], + "expected_business_code": "4001", + "mismatched_field": "body.isSearchCount" + } + ] + }, + { + "test_case_id": "TC-ERROR-4003-BODY", + "test_case_name": "Error Code 4003 - Missing Required Request Body Field Validation", + "test_case_severity": "高", + "status": "通过", + "message": "跳过测试:在API规范中未找到合适的必填请求体字段用于移除测试。", + "duration_seconds": 0.01876833400092437, + "timestamp": "2025-06-06T13:53:10.692515", + "validation_points": [ + { + "passed": true, + "message": "跳过测试:在API规范中未找到合适的必填请求体字段用于移除测试。" + } + ] + }, + { + "test_case_id": "TC-ERROR-4003-QUERY", + "test_case_name": "Error Code 4003 - Missing Required Query Parameter Validation", + "test_case_severity": "高", + "status": "通过", + "message": "跳过测试:在API规范中未找到合适的必填查询参数用于移除测试。", + "duration_seconds": 0.015312000001358683, + "timestamp": "2025-06-06T13:53:10.707873", + "validation_points": [ + { + "passed": true, + "message": "跳过测试:在API规范中未找到合适的必填查询参数用于移除测试。" + } + ] + } + ] + }, + { + "endpoint_id": "PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit", + "endpoint_name": "地质单元数据修改", + "overall_status": "失败", + "duration_seconds": 0.132339, + "start_time": "2025-06-06T13:53:10.708009", + "end_time": "2025-06-06T13:53:10.840348", + "executed_test_cases": [ + { + "test_case_id": "TC-STATUS-001", + "test_case_name": "基本状态码 200 检查", + "test_case_severity": "严重", + "status": "通过", + "message": "响应状态码为 200,符合预期 200。", + "duration_seconds": 0.0175804579994292, + "timestamp": "2025-06-06T13:53:10.725658", + "validation_points": [ + { + "passed": true, + "message": "响应状态码为 200,符合预期 200。" + } + ] + }, + { + "test_case_id": "TC-CORE-FUNC-001", + "test_case_name": "Response Body JSON Schema Validation", + "test_case_severity": "严重", + "status": "通过", + "message": "针对 PUT http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit (状态码 200) 的响应体 conforms to the JSON schema.", + "duration_seconds": 0.025048292000064976, + "timestamp": "2025-06-06T13:53:10.750771", + "validation_points": [ + { + "passed": true, + "message": "针对 PUT http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit (状态码 200) 的响应体 conforms to the JSON schema." + } + ] + }, + { + "test_case_id": "TC-SECURITY-001", + "test_case_name": "HTTPS Protocol Mandatory Verification", + "test_case_severity": "严重", + "status": "失败", + "message": "API通过HTTP (http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit) 响应了成功的状态码 200,这违反了HTTPS强制策略。", + "duration_seconds": 0.021549749999394407, + "timestamp": "2025-06-06T13:53:10.772373", + "validation_points": [ + { + "status_code": 200 + } + ] + }, + { + "test_case_id": "TC-ERROR-4001-QUERY", + "test_case_name": "Error Code 4001 - Query Parameter Type Mismatch Validation", + "test_case_severity": "中", + "status": "失败", + "message": "当查询参数 'id' (路径: 'id') 类型不匹配时,期望API返回状态码在 [400, 422] 中,或返回4xx客户端错误且业务码为 '4001'. 实际收到状态码 200. 响应体中的业务码 ('code') 为 '29'.", + "duration_seconds": 0.0156894169995212, + "timestamp": "2025-06-06T13:53:10.788091", + "validation_points": [ + { + "status_code": 200, + "response_body": { + "code": 29, + "message": "tempor Excepteur dolore", + "data": true + }, + "expected_http_status_codes": [ + 400, + 422 + ], + "expected_business_code": "4001", + "mismatched_param": "id" + } + ] + }, + { + "test_case_id": "TC-ERROR-4001-BODY", + "test_case_name": "Error Code 4001 - Request Body Type Mismatch Validation", + "test_case_severity": "中", + "status": "失败", + "message": "当请求体字段 'id' 类型不匹配时,期望API返回状态码在 [400, 422] 中,或返回4xx客户端错误且业务码为 '4001'. 实际收到状态码 200. 响应体中的业务码 ('code') 为 '27'.", + "duration_seconds": 0.015921208001600462, + "timestamp": "2025-06-06T13:53:10.804031", + "validation_points": [ + { + "status_code": 200, + "response_body": { + "code": 27, + "message": "labore laborum nostrud deserunt ut", + "data": false + }, + "expected_http_status_codes": [ + 400, + 422 + ], + "expected_business_code": "4001", + "mismatched_field": "body.id" + } + ] + }, + { + "test_case_id": "TC-ERROR-4003-BODY", + "test_case_name": "Error Code 4003 - Missing Required Request Body Field Validation", + "test_case_severity": "高", + "status": "通过", + "message": "当移除必填请求体字段 'id' 时,API响应了状态码 200 (非主要预期HTTP状态 [400, 422],但为4xx客户端错误), 且响应体中包含预期的业务错误码 '4003' (字段: 'code').", + "duration_seconds": 0.019309584000438917, + "timestamp": "2025-06-06T13:53:10.823360", + "validation_points": [ + { + "passed": true, + "message": "当移除必填请求体字段 'id' 时,API响应了状态码 200 (非主要预期HTTP状态 [400, 422],但为4xx客户端错误), 且响应体中包含预期的业务错误码 '4003' (字段: 'code')." + } + ] + }, + { + "test_case_id": "TC-ERROR-4003-QUERY", + "test_case_name": "Error Code 4003 - Missing Required Query Parameter Validation", + "test_case_severity": "高", + "status": "失败", + "message": "当移除必填查询参数 'id' 时,期望API返回状态码在 [400, 422] 中,或返回4xx客户端错误且业务码为 '4003'. 实际收到状态码 200. 响应体中的业务码 ('code') 为 '72'.", + "duration_seconds": 0.01695425000070827, + "timestamp": "2025-06-06T13:53:10.840334", + "validation_points": [ + { + "status_code": 200, + "response_body": { + "code": 72, + "message": "cupidatat laborum Duis ipsum", + "data": false + }, + "expected_http_status_codes": [ + 400, + 422 + ], + "expected_business_code": "4003", + "removed_param": "query.id" + } + ] + } + ] + }, + { + "endpoint_id": "DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit", + "endpoint_name": "地质单元数据删除", + "overall_status": "失败", + "duration_seconds": 0.111858, + "start_time": "2025-06-06T13:53:10.840387", + "end_time": "2025-06-06T13:53:10.952245", + "executed_test_cases": [ + { + "test_case_id": "TC-STATUS-001", + "test_case_name": "基本状态码 200 检查", + "test_case_severity": "严重", + "status": "通过", + "message": "响应状态码为 200,符合预期 200。", + "duration_seconds": 0.015856624999287305, + "timestamp": "2025-06-06T13:53:10.856271", + "validation_points": [ + { + "passed": true, + "message": "响应状态码为 200,符合预期 200。" + } + ] + }, + { + "test_case_id": "TC-CORE-FUNC-001", + "test_case_name": "Response Body JSON Schema Validation", + "test_case_severity": "严重", + "status": "通过", + "message": "针对 DELETE http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit (状态码 200) 的响应体 conforms to the JSON schema.", + "duration_seconds": 0.016327416999047273, + "timestamp": "2025-06-06T13:53:10.872617", + "validation_points": [ + { + "passed": true, + "message": "针对 DELETE http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit (状态码 200) 的响应体 conforms to the JSON schema." + } + ] + }, + { + "test_case_id": "TC-SECURITY-001", + "test_case_name": "HTTPS Protocol Mandatory Verification", + "test_case_severity": "严重", + "status": "失败", + "message": "API通过HTTP (http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit) 响应了成功的状态码 200,这违反了HTTPS强制策略。", + "duration_seconds": 0.018065749998640968, + "timestamp": "2025-06-06T13:53:10.890704", + "validation_points": [ + { + "status_code": 200 + } + ] + }, + { + "test_case_id": "TC-ERROR-4001-QUERY", + "test_case_name": "Error Code 4001 - Query Parameter Type Mismatch Validation", + "test_case_severity": "中", + "status": "失败", + "message": "当查询参数 'id' (路径: 'id') 类型不匹配时,期望API返回状态码在 [400, 422] 中,或返回4xx客户端错误且业务码为 '4001'. 实际收到状态码 200. 响应体中的业务码 ('code') 为 '85'.", + "duration_seconds": 0.015820958000404062, + "timestamp": "2025-06-06T13:53:10.906554", + "validation_points": [ + { + "status_code": 200, + "response_body": { + "code": 85, + "message": "do ex dolore", + "data": true + }, + "expected_http_status_codes": [ + 400, + 422 + ], + "expected_business_code": "4001", + "mismatched_param": "id" + } + ] + }, + { + "test_case_id": "TC-ERROR-4001-BODY", + "test_case_name": "Error Code 4001 - Request Body Type Mismatch Validation", + "test_case_severity": "中", + "status": "失败", + "message": "当请求体字段 'version' 类型不匹配时,期望API返回状态码在 [400, 422] 中,或返回4xx客户端错误且业务码为 '4001'. 实际收到状态码 200. 响应体中的业务码 ('code') 为 '7'.", + "duration_seconds": 0.01824408399988897, + "timestamp": "2025-06-06T13:53:10.924816", + "validation_points": [ + { + "status_code": 200, + "response_body": { + "code": 7, + "message": "do proident labore", + "data": true + }, + "expected_http_status_codes": [ + 400, + 422 + ], + "expected_business_code": "4001", + "mismatched_field": "body.version" + } + ] + }, + { + "test_case_id": "TC-ERROR-4003-BODY", + "test_case_name": "Error Code 4003 - Missing Required Request Body Field Validation", + "test_case_severity": "高", + "status": "通过", + "message": "跳过测试:在API规范中未找到合适的必填请求体字段用于移除测试。", + "duration_seconds": 0.014596875000279397, + "timestamp": "2025-06-06T13:53:10.939431", + "validation_points": [ + { + "passed": true, + "message": "跳过测试:在API规范中未找到合适的必填请求体字段用于移除测试。" + } + ] + }, + { + "test_case_id": "TC-ERROR-4003-QUERY", + "test_case_name": "Error Code 4003 - Missing Required Query Parameter Validation", + "test_case_severity": "高", + "status": "失败", + "message": "当移除必填查询参数 'id' 时,期望API返回状态码在 [400, 422] 中,或返回4xx客户端错误且业务码为 '4003'. 实际收到状态码 200. 响应体中的业务码 ('code') 为 '56'.", + "duration_seconds": 0.012786332999894512, + "timestamp": "2025-06-06T13:53:10.952234", + "validation_points": [ + { + "status_code": 200, + "response_body": { + "code": 56, + "message": "reprehenderit eiusmod ullamco", + "data": true + }, + "expected_http_status_codes": [ + 400, + 422 + ], + "expected_business_code": "4003", + "removed_param": "query.id" + } + ] + } + ] + }, + { + "endpoint_id": "POST /api/dms/{dms_instance_code}/v1/cd_geo_unit", + "endpoint_name": "地质单元数据添加", + "overall_status": "失败", + "duration_seconds": 0.101687, + "start_time": "2025-06-06T13:53:10.952279", + "end_time": "2025-06-06T13:53:11.053966", + "executed_test_cases": [ + { + "test_case_id": "TC-STATUS-001", + "test_case_name": "基本状态码 200 检查", + "test_case_severity": "严重", + "status": "通过", + "message": "响应状态码为 200,符合预期 200。", + "duration_seconds": 0.013899000001401873, + "timestamp": "2025-06-06T13:53:10.966202", + "validation_points": [ + { + "passed": true, + "message": "响应状态码为 200,符合预期 200。" + } + ] + }, + { + "test_case_id": "TC-CORE-FUNC-001", + "test_case_name": "Response Body JSON Schema Validation", + "test_case_severity": "严重", + "status": "通过", + "message": "Schema验证步骤完成(未发现问题,或schema不适用/未为此响应定义)。", + "duration_seconds": 0.012564917000418063, + "timestamp": "2025-06-06T13:53:10.978785", + "validation_points": [ + { + "passed": true, + "message": "Schema验证步骤完成(未发现问题,或schema不适用/未为此响应定义)。" + } + ] + }, + { + "test_case_id": "TC-SECURITY-001", + "test_case_name": "HTTPS Protocol Mandatory Verification", + "test_case_severity": "严重", + "status": "失败", + "message": "API通过HTTP (http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit) 响应了成功的状态码 200,这违反了HTTPS强制策略。", + "duration_seconds": 0.015663750000385335, + "timestamp": "2025-06-06T13:53:10.994473", + "validation_points": [ + { + "status_code": 200 + } + ] + }, + { + "test_case_id": "TC-ERROR-4001-QUERY", + "test_case_name": "Error Code 4001 - Query Parameter Type Mismatch Validation", + "test_case_severity": "中", + "status": "通过", + "message": "跳过测试:在查询参数中未找到合适的字段来测试类型不匹配。", + "duration_seconds": 0.017019375000018044, + "timestamp": "2025-06-06T13:53:11.011511", + "validation_points": [ + { + "passed": true, + "message": "跳过测试:在查询参数中未找到合适的字段来测试类型不匹配。" + } + ] + }, + { + "test_case_id": "TC-ERROR-4001-BODY", + "test_case_name": "Error Code 4001 - Request Body Type Mismatch Validation", + "test_case_severity": "中", + "status": "失败", + "message": "当请求体字段 'version' 类型不匹配时,期望API返回状态码在 [400, 422] 中,或返回4xx客户端错误且业务码为 '4001'. 实际收到状态码 200. 响应体中的业务码 ('code') 为 '48'.", + "duration_seconds": 0.014236125000024913, + "timestamp": "2025-06-06T13:53:11.025765", + "validation_points": [ + { + "status_code": 200, + "response_body": { + "code": 48, + "message": "minim exercitation non occaecat enim", + "data": true + }, + "expected_http_status_codes": [ + 400, + 422 + ], + "expected_business_code": "4001", + "mismatched_field": "body.version" + } + ] + }, + { + "test_case_id": "TC-ERROR-4003-BODY", + "test_case_name": "Error Code 4003 - Missing Required Request Body Field Validation", + "test_case_severity": "高", + "status": "失败", + "message": "当移除必填请求体字段 'data.0.bsflag' 时,期望API返回状态码在 [400, 422] 中,或返回4xx客户端错误且业务码为 '4003'. 实际收到状态码 200. 响应体中的业务码 ('code') 为 '37'.", + "duration_seconds": 0.014379374999407446, + "timestamp": "2025-06-06T13:53:11.040162", + "validation_points": [ + { + "status_code": 200, + "response_body": { + "code": 37, + "message": "dolore tempor", + "data": true + }, + "expected_http_status_codes": [ + 400, + 422 + ], + "expected_business_code": "4003", + "removed_field": "body.data.0.bsflag" + } + ] + }, + { + "test_case_id": "TC-ERROR-4003-QUERY", + "test_case_name": "Error Code 4003 - Missing Required Query Parameter Validation", + "test_case_severity": "高", + "status": "通过", + "message": "跳过测试:在API规范中未找到合适的必填查询参数用于移除测试。", + "duration_seconds": 0.013773791999483365, + "timestamp": "2025-06-06T13:53:11.053953", + "validation_points": [ + { + "passed": true, + "message": "跳过测试:在API规范中未找到合适的必填查询参数用于移除测试。" + } + ] + } + ] + }, + { + "endpoint_id": "GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}", + "endpoint_name": "地质单元查询详情", + "overall_status": "失败", + "duration_seconds": 0.116003, + "start_time": "2025-06-06T13:53:11.054002", + "end_time": "2025-06-06T13:53:11.170005", + "executed_test_cases": [ + { + "test_case_id": "TC-STATUS-001", + "test_case_name": "基本状态码 200 检查", + "test_case_severity": "严重", + "status": "通过", + "message": "响应状态码为 200,符合预期 200。", + "duration_seconds": 0.013373874999160762, + "timestamp": "2025-06-06T13:53:11.067404", + "validation_points": [ + { + "passed": true, + "message": "响应状态码为 200,符合预期 200。" + } + ] + }, + { + "test_case_id": "TC-CORE-FUNC-001", + "test_case_name": "Response Body JSON Schema Validation", + "test_case_severity": "严重", + "status": "通过", + "message": "针对 GET http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id (状态码 200) 的响应体 conforms to the JSON schema.", + "duration_seconds": 0.01739479199932248, + "timestamp": "2025-06-06T13:53:11.084816", + "validation_points": [ + { + "passed": true, + "message": "针对 GET http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id (状态码 200) 的响应体 conforms to the JSON schema." + } + ] + }, + { + "test_case_id": "TC-SECURITY-001", + "test_case_name": "HTTPS Protocol Mandatory Verification", + "test_case_severity": "严重", + "status": "失败", + "message": "API通过HTTP (http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id) 响应了成功的状态码 200,这违反了HTTPS强制策略。", + "duration_seconds": 0.015521667000939487, + "timestamp": "2025-06-06T13:53:11.100359", + "validation_points": [ + { + "status_code": 200 + } + ] + }, + { + "test_case_id": "TC-ERROR-4001-QUERY", + "test_case_name": "Error Code 4001 - Query Parameter Type Mismatch Validation", + "test_case_severity": "中", + "status": "通过", + "message": "跳过测试:在查询参数中未找到合适的字段来测试类型不匹配。", + "duration_seconds": 0.018343916999583598, + "timestamp": "2025-06-06T13:53:11.118817", + "validation_points": [ + { + "passed": true, + "message": "跳过测试:在查询参数中未找到合适的字段来测试类型不匹配。" + } + ] + }, + { + "test_case_id": "TC-ERROR-4001-BODY", + "test_case_name": "Error Code 4001 - Request Body Type Mismatch Validation", + "test_case_severity": "中", + "status": "失败", + "message": "当请求体字段 'isSearchCount' 类型不匹配时,期望API返回状态码在 [400, 422] 中,或返回4xx客户端错误且业务码为 '4001'. 实际收到状态码 200. 响应体中的业务码 ('code') 为 '94'.", + "duration_seconds": 0.015072542000780231, + "timestamp": "2025-06-06T13:53:11.133939", + "validation_points": [ + { + "status_code": 200, + "response_body": { + "code": 94, + "message": "fugiat sint", + "data": { + "total": 5, + "list": [ + { + "dsid": "59", + "dataRegion": "dolore reprehenderit", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + } + ] + } + }, + "expected_http_status_codes": [ + 400, + 422 + ], + "expected_business_code": "4001", + "mismatched_field": "body.isSearchCount" + } + ] + }, + { + "test_case_id": "TC-ERROR-4003-BODY", + "test_case_name": "Error Code 4003 - Missing Required Request Body Field Validation", + "test_case_severity": "高", + "status": "通过", + "message": "跳过测试:在API规范中未找到合适的必填请求体字段用于移除测试。", + "duration_seconds": 0.015055791000122554, + "timestamp": "2025-06-06T13:53:11.149037", + "validation_points": [ + { + "passed": true, + "message": "跳过测试:在API规范中未找到合适的必填请求体字段用于移除测试。" + } + ] + }, + { + "test_case_id": "TC-ERROR-4003-QUERY", + "test_case_name": "Error Code 4003 - Missing Required Query Parameter Validation", + "test_case_severity": "高", + "status": "通过", + "message": "跳过测试:在API规范中未找到合适的必填查询参数用于移除测试。", + "duration_seconds": 0.02081745800023782, + "timestamp": "2025-06-06T13:53:11.169916", + "validation_points": [ + { + "passed": true, + "message": "跳过测试:在API规范中未找到合适的必填查询参数用于移除测试。" + } + ] + } + ] + } + ], + "stage_results": [ + { + "stage_id": "generic_crud_validation_stage", + "stage_name": "Generic CRUD Validation Stage", + "description": "Performs a generic CRUD (Create, List, Read, Update, Delete) flow. It tries to dynamically discover API operations based on common keywords and HTTP methods. Field names for IDs, names, features, and JSON paths for list/detail objects are configurable via class attributes or can be set in `before_stage` based on `api_group_name`.", + "api_group_name": "地质单元", + "tags": [ + "crud", + "generic_validation" + ], + "overall_status": "失败", + "duration_seconds": "0.03", + "start_time": "2025-06-06T13:53:11", + "end_time": "2025-06-06T13:53:11", + "message": "测试阶段因步骤 'List and Find Created Resource' 的状态 (失败) 而中止.", + "executed_steps_count": 2, + "executed_steps": [ + { + "step_name": "Create New Resource", + "description": null, + "lookup_key": "地质单元数据添加", + "resolved_endpoint": "POST /api/dms/{dms_instance_code}/v1/cd_geo_unit", + "status": "通过", + "message": "", + "duration_seconds": "0.0000", + "timestamp": "2025-06-06T13:53:11+0800", + "validation_points": [ + { + "passed": true, + "message": "状态码匹配 (200)." + } + ], + "api_call_curl": "N/A", + "request_details": { + "method": "POST", + "url": "http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/your_dms_instance_code/v1/cd_geo_unit", + "headers": { + "tenant-id": "your-tenant-id", + "Content-Type": "application/json", + "Accept": "application/json", + "Authorization": "Bearer your-test-token" + }, + "params": {}, + "json_data": { + "version": "1.0.0", + "data": [ + { + "wellCommonName": "TestResource_1749189191_6471f8", + "dataRegion": "Feature_1749189191" + } + ] + }, + "body": { + "version": "1.0.0", + "data": [ + { + "wellCommonName": "TestResource_1749189191_6471f8", + "dataRegion": "Feature_1749189191" + } + ] + }, + "data": null, + "timeout": 30 + }, + "extracted_outputs": {}, + "context_after_step_summary": { + "unique_resource_name": "TestResource_1749189191_6471f8", + "updated_resource_name": "TestResource_1749189191_6471f8_UPDATED", + "unique_feature_value": "Feature_1749189191", + "updated_feature_value": "Feature_1749189191_UPDATED", + "cfg_list_path_in_listresponse": "data.list", + "cfg_name_field_in_listitem": "wellCommonName", + "cfg_id_field_in_listitem": "dsid", + "cfg_resource_object_path_in_detailresponse": "data.list.0", + "cfg_name_field_in_detailresponse": "wellCommonName", + "cfg_id_field_in_detailresponse": "dsid", + "cfg_resource_object_path_in_updateresponse": "data.list.0", + "cfg_feature_field_name_for_validation": "dataRegion", + "dms_instance_code": "your_dms_instance_code", + "api_version": "1.0.0" + } + }, + { + "step_name": "List and Find Created Resource", + "description": null, + "lookup_key": "地质单元列表查询", + "resolved_endpoint": "POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}", + "status": "失败", + "message": "Resource not found: Name 'TestResource_1749189191_6471f8' (field: wellCommonName) not found in list at path 'data.list'.", + "duration_seconds": "0.0000", + "timestamp": "2025-06-06T13:53:11+0800", + "validation_points": [ + { + "passed": true, + "message": "状态码匹配 (200)." + }, + { + "passed": false, + "message": "Resource not found: Name 'TestResource_1749189191_6471f8' (field: wellCommonName) not found in list at path 'data.list'." + } + ], + "api_call_curl": "N/A", + "request_details": { + "method": "POST", + "url": "http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/your_dms_instance_code/v1/cd_geo_unit/1.0.0", + "headers": { + "tenant-id": "your-tenant-id", + "Content-Type": "application/json", + "Accept": "application/json", + "Authorization": "Bearer your-test-token" + }, + "params": { + "pageNo": 1, + "pageSize": 10 + }, + "json_data": { + "isSearchCount": true, + "query": { + "fields": [ + "dsid", + "wellCommonName", + "dataRegion" + ], + "filter": { + "key": "wellCommonName", + "symbol": "=", + "realValue": [ + "TestResource_1749189191_6471f8" + ] + } + } + }, + "body": { + "isSearchCount": true, + "query": { + "fields": [ + "dsid", + "wellCommonName", + "dataRegion" + ], + "filter": { + "key": "wellCommonName", + "symbol": "=", + "realValue": [ + "TestResource_1749189191_6471f8" + ] + } + } + }, + "data": null, + "timeout": 30 + }, + "extracted_outputs": {}, + "context_after_step_summary": { + "unique_resource_name": "TestResource_1749189191_6471f8", + "updated_resource_name": "TestResource_1749189191_6471f8_UPDATED", + "unique_feature_value": "Feature_1749189191", + "updated_feature_value": "Feature_1749189191_UPDATED", + "cfg_list_path_in_listresponse": "data.list", + "cfg_name_field_in_listitem": "wellCommonName", + "cfg_id_field_in_listitem": "dsid", + "cfg_resource_object_path_in_detailresponse": "data.list.0", + "cfg_name_field_in_detailresponse": "wellCommonName", + "cfg_id_field_in_detailresponse": "dsid", + "cfg_resource_object_path_in_updateresponse": "data.list.0", + "cfg_feature_field_name_for_validation": "dataRegion", + "dms_instance_code": "your_dms_instance_code", + "api_version": "1.0.0" + } + } + ], + "final_stage_context_summary": { + "unique_resource_name": "TestResource_1749189191_6471f8", + "updated_resource_name": "TestResource_1749189191_6471f8_UPDATED", + "unique_feature_value": "Feature_1749189191", + "updated_feature_value": "Feature_1749189191_UPDATED", + "cfg_list_path_in_listresponse": "data.list", + "cfg_name_field_in_listitem": "wellCommonName", + "cfg_id_field_in_listitem": "dsid", + "cfg_resource_object_path_in_detailresponse": "data.list.0", + "cfg_name_field_in_detailresponse": "wellCommonName", + "cfg_id_field_in_detailresponse": "dsid", + "cfg_resource_object_path_in_updateresponse": "data.list.0", + "cfg_feature_field_name_for_validation": "dataRegion", + "dms_instance_code": "your_dms_instance_code", + "api_version": "1.0.0" + } + } + ], + "api_call_details_summary": [] +} \ No newline at end of file diff --git a/test_reports/test_summary.json b/test_reports/test_summary.json new file mode 100644 index 0000000..fedc065 --- /dev/null +++ b/test_reports/test_summary.json @@ -0,0 +1,1091 @@ +{ + "start_time": "2025-06-06T14:51:48.488220", + "end_time": null, + "duration_seconds": "0.00", + "overall_summary": { + "total_endpoints_defined": 6, + "endpoints_tested": 6, + "endpoints_passed": 0, + "endpoints_failed": 6, + "endpoints_error": 0, + "endpoints_skipped": 0, + "endpoints_partial_success": 0, + "endpoint_success_rate": "0.00%", + "total_test_cases_applicable": 42, + "total_test_cases_executed": 42, + "test_cases_passed": 24, + "test_cases_failed": 18, + "test_cases_error": 0, + "test_cases_skipped_in_endpoint": 0, + "test_case_success_rate": "57.14%", + "total_stages_defined": 1, + "total_stages_executed": 1, + "stages_passed": 0, + "stages_failed": 1, + "stages_error": 0, + "stages_skipped": 0, + "stage_success_rate": "0.00%" + }, + "errors": [], + "endpoint_results": [ + { + "endpoint_id": "POST /api/dms/{dms_instance_code}/v1/message/push/{schema}/{version}", + "endpoint_name": "数据推送接口", + "overall_status": "失败", + "duration_seconds": 0.182755, + "start_time": "2025-06-06T14:51:48.491430", + "end_time": "2025-06-06T14:51:48.674185", + "executed_test_cases": [ + { + "test_case_id": "TC-STATUS-001", + "test_case_name": "基本状态码 200 检查", + "test_case_severity": "严重", + "status": "通过", + "message": "响应状态码为 200,符合预期 200。", + "duration_seconds": 0.05334266600038973, + "timestamp": "2025-06-06T14:51:48.545207", + "validation_points": [ + { + "passed": true, + "message": "响应状态码为 200,符合预期 200。" + } + ] + }, + { + "test_case_id": "TC-CORE-FUNC-001", + "test_case_name": "Response Body JSON Schema Validation", + "test_case_severity": "严重", + "status": "通过", + "message": "Schema验证步骤完成(未发现问题,或schema不适用/未为此响应定义)。", + "duration_seconds": 0.024825041997246444, + "timestamp": "2025-06-06T14:51:48.570085", + "validation_points": [ + { + "passed": true, + "message": "Schema验证步骤完成(未发现问题,或schema不适用/未为此响应定义)。" + } + ] + }, + { + "test_case_id": "TC-SECURITY-001", + "test_case_name": "HTTPS Protocol Mandatory Verification", + "test_case_severity": "严重", + "status": "失败", + "message": "API通过HTTP (http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/message/push/example_schema/example_version) 响应了成功的状态码 200,这违反了HTTPS强制策略。", + "duration_seconds": 0.02034641700083739, + "timestamp": "2025-06-06T14:51:48.590459", + "validation_points": [ + { + "status_code": 200 + } + ] + }, + { + "test_case_id": "TC-ERROR-4001-QUERY", + "test_case_name": "Error Code 4001 - Query Parameter Type Mismatch Validation", + "test_case_severity": "中", + "status": "通过", + "message": "跳过测试:在查询参数中未找到合适的字段来测试类型不匹配。", + "duration_seconds": 0.025210584000888048, + "timestamp": "2025-06-06T14:51:48.615720", + "validation_points": [ + { + "passed": true, + "message": "跳过测试:在查询参数中未找到合适的字段来测试类型不匹配。" + } + ] + }, + { + "test_case_id": "TC-ERROR-4001-BODY", + "test_case_name": "Error Code 4001 - Request Body Type Mismatch Validation", + "test_case_severity": "中", + "status": "失败", + "message": "当请求体字段 'isSearchCount' 类型不匹配时,期望API返回状态码在 [400, 422] 中,或返回4xx客户端错误且业务码为 '4001'. 实际收到状态码 200. 响应体中的业务码 ('code') 为 '95'.", + "duration_seconds": 0.020784416003152728, + "timestamp": "2025-06-06T14:51:48.636559", + "validation_points": [ + { + "status_code": 200, + "response_body": { + "code": 95, + "message": "ut anim irure ex", + "data": { + "total": 57, + "list": [ + { + "dsid": "88", + "dataRegion": "commodo dolore", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + }, + { + "dsid": "89", + "dataRegion": "cupidatat ut nisi ipsum", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + } + ] + } + }, + "expected_http_status_codes": [ + 400, + 422 + ], + "expected_business_code": "4001", + "mismatched_field": "body.isSearchCount" + } + ] + }, + { + "test_case_id": "TC-ERROR-4003-BODY", + "test_case_name": "Error Code 4003 - Missing Required Request Body Field Validation", + "test_case_severity": "高", + "status": "通过", + "message": "跳过测试:在API规范中未找到合适的必填请求体字段用于移除测试。", + "duration_seconds": 0.016974458001641324, + "timestamp": "2025-06-06T14:51:48.653591", + "validation_points": [ + { + "passed": true, + "message": "跳过测试:在API规范中未找到合适的必填请求体字段用于移除测试。" + } + ] + }, + { + "test_case_id": "TC-ERROR-4003-QUERY", + "test_case_name": "Error Code 4003 - Missing Required Query Parameter Validation", + "test_case_severity": "高", + "status": "通过", + "message": "跳过测试:在API规范中未找到合适的必填查询参数用于移除测试。", + "duration_seconds": 0.020508665998931974, + "timestamp": "2025-06-06T14:51:48.674129", + "validation_points": [ + { + "passed": true, + "message": "跳过测试:在API规范中未找到合适的必填查询参数用于移除测试。" + } + ] + } + ] + }, + { + "endpoint_id": "POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}", + "endpoint_name": "地质单元列表查询", + "overall_status": "失败", + "duration_seconds": 0.12284, + "start_time": "2025-06-06T14:51:48.674289", + "end_time": "2025-06-06T14:51:48.797129", + "executed_test_cases": [ + { + "test_case_id": "TC-STATUS-001", + "test_case_name": "基本状态码 200 检查", + "test_case_severity": "严重", + "status": "通过", + "message": "响应状态码为 200,符合预期 200。", + "duration_seconds": 0.017299541999818757, + "timestamp": "2025-06-06T14:51:48.691655", + "validation_points": [ + { + "passed": true, + "message": "响应状态码为 200,符合预期 200。" + } + ] + }, + { + "test_case_id": "TC-CORE-FUNC-001", + "test_case_name": "Response Body JSON Schema Validation", + "test_case_severity": "严重", + "status": "通过", + "message": "Schema验证步骤完成(未发现问题,或schema不适用/未为此响应定义)。", + "duration_seconds": 0.018496458000299754, + "timestamp": "2025-06-06T14:51:48.710217", + "validation_points": [ + { + "passed": true, + "message": "Schema验证步骤完成(未发现问题,或schema不适用/未为此响应定义)。" + } + ] + }, + { + "test_case_id": "TC-SECURITY-001", + "test_case_name": "HTTPS Protocol Mandatory Verification", + "test_case_severity": "严重", + "status": "失败", + "message": "API通过HTTP (http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0) 响应了成功的状态码 200,这违反了HTTPS强制策略。", + "duration_seconds": 0.017493832998297876, + "timestamp": "2025-06-06T14:51:48.727756", + "validation_points": [ + { + "status_code": 200 + } + ] + }, + { + "test_case_id": "TC-ERROR-4001-QUERY", + "test_case_name": "Error Code 4001 - Query Parameter Type Mismatch Validation", + "test_case_severity": "中", + "status": "失败", + "message": "当查询参数 'pageNo' (路径: 'pageNo') 类型不匹配时,期望API返回状态码在 [400, 422] 中,或返回4xx客户端错误且业务码为 '4001'. 实际收到状态码 200. 响应体中的业务码 ('code') 为 '33'.", + "duration_seconds": 0.01719437499923515, + "timestamp": "2025-06-06T14:51:48.744973", + "validation_points": [ + { + "status_code": 200, + "response_body": { + "code": 33, + "message": "nisi ipsum id reprehenderit", + "data": { + "total": 87, + "list": [ + { + "dsid": "50", + "dataRegion": "veniam", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + } + ] + } + }, + "expected_http_status_codes": [ + 400, + 422 + ], + "expected_business_code": "4001", + "mismatched_param": "pageNo" + } + ] + }, + { + "test_case_id": "TC-ERROR-4001-BODY", + "test_case_name": "Error Code 4001 - Request Body Type Mismatch Validation", + "test_case_severity": "中", + "status": "失败", + "message": "当请求体字段 'isSearchCount' 类型不匹配时,期望API返回状态码在 [400, 422] 中,或返回4xx客户端错误且业务码为 '4001'. 实际收到状态码 200. 响应体中的业务码 ('code') 为 '78'.", + "duration_seconds": 0.016157709000253817, + "timestamp": "2025-06-06T14:51:48.761160", + "validation_points": [ + { + "status_code": 200, + "response_body": { + "code": 78, + "message": "fugiat mollit", + "data": { + "total": 81, + "list": [ + { + "dsid": "52", + "dataRegion": "id nostrud", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + } + ] + } + }, + "expected_http_status_codes": [ + 400, + 422 + ], + "expected_business_code": "4001", + "mismatched_field": "body.isSearchCount" + } + ] + }, + { + "test_case_id": "TC-ERROR-4003-BODY", + "test_case_name": "Error Code 4003 - Missing Required Request Body Field Validation", + "test_case_severity": "高", + "status": "通过", + "message": "跳过测试:在API规范中未找到合适的必填请求体字段用于移除测试。", + "duration_seconds": 0.017421792003005976, + "timestamp": "2025-06-06T14:51:48.778659", + "validation_points": [ + { + "passed": true, + "message": "跳过测试:在API规范中未找到合适的必填请求体字段用于移除测试。" + } + ] + }, + { + "test_case_id": "TC-ERROR-4003-QUERY", + "test_case_name": "Error Code 4003 - Missing Required Query Parameter Validation", + "test_case_severity": "高", + "status": "通过", + "message": "跳过测试:在API规范中未找到合适的必填查询参数用于移除测试。", + "duration_seconds": 0.018410417000268353, + "timestamp": "2025-06-06T14:51:48.797093", + "validation_points": [ + { + "passed": true, + "message": "跳过测试:在API规范中未找到合适的必填查询参数用于移除测试。" + } + ] + } + ] + }, + { + "endpoint_id": "PUT /api/dms/{dms_instance_code}/v1/cd_geo_unit", + "endpoint_name": "地质单元数据修改", + "overall_status": "失败", + "duration_seconds": 0.11473, + "start_time": "2025-06-06T14:51:48.797203", + "end_time": "2025-06-06T14:51:48.911933", + "executed_test_cases": [ + { + "test_case_id": "TC-STATUS-001", + "test_case_name": "基本状态码 200 检查", + "test_case_severity": "严重", + "status": "通过", + "message": "响应状态码为 200,符合预期 200。", + "duration_seconds": 0.014398915998754092, + "timestamp": "2025-06-06T14:51:48.811687", + "validation_points": [ + { + "passed": true, + "message": "响应状态码为 200,符合预期 200。" + } + ] + }, + { + "test_case_id": "TC-CORE-FUNC-001", + "test_case_name": "Response Body JSON Schema Validation", + "test_case_severity": "严重", + "status": "通过", + "message": "针对 PUT http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit (状态码 200) 的响应体 conforms to the JSON schema.", + "duration_seconds": 0.016782833001343533, + "timestamp": "2025-06-06T14:51:48.828508", + "validation_points": [ + { + "passed": true, + "message": "针对 PUT http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit (状态码 200) 的响应体 conforms to the JSON schema." + } + ] + }, + { + "test_case_id": "TC-SECURITY-001", + "test_case_name": "HTTPS Protocol Mandatory Verification", + "test_case_severity": "严重", + "status": "失败", + "message": "API通过HTTP (http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit) 响应了成功的状态码 200,这违反了HTTPS强制策略。", + "duration_seconds": 0.014094499998464016, + "timestamp": "2025-06-06T14:51:48.842618", + "validation_points": [ + { + "status_code": 200 + } + ] + }, + { + "test_case_id": "TC-ERROR-4001-QUERY", + "test_case_name": "Error Code 4001 - Query Parameter Type Mismatch Validation", + "test_case_severity": "中", + "status": "失败", + "message": "当查询参数 'id' (路径: 'id') 类型不匹配时,期望API返回状态码在 [400, 422] 中,或返回4xx客户端错误且业务码为 '4001'. 实际收到状态码 200. 响应体中的业务码 ('code') 为 '80'.", + "duration_seconds": 0.015201000001979992, + "timestamp": "2025-06-06T14:51:48.857836", + "validation_points": [ + { + "status_code": 200, + "response_body": { + "code": 80, + "message": "dolore cupidatat amet Duis", + "data": false + }, + "expected_http_status_codes": [ + 400, + 422 + ], + "expected_business_code": "4001", + "mismatched_param": "id" + } + ] + }, + { + "test_case_id": "TC-ERROR-4001-BODY", + "test_case_name": "Error Code 4001 - Request Body Type Mismatch Validation", + "test_case_severity": "中", + "status": "失败", + "message": "当请求体字段 'id' 类型不匹配时,期望API返回状态码在 [400, 422] 中,或返回4xx客户端错误且业务码为 '4001'. 实际收到状态码 200. 响应体中的业务码 ('code') 为 '7'.", + "duration_seconds": 0.018401041998004075, + "timestamp": "2025-06-06T14:51:48.876255", + "validation_points": [ + { + "status_code": 200, + "response_body": { + "code": 7, + "message": "esse et reprehenderit ex tempor", + "data": true + }, + "expected_http_status_codes": [ + 400, + 422 + ], + "expected_business_code": "4001", + "mismatched_field": "body.id" + } + ] + }, + { + "test_case_id": "TC-ERROR-4003-BODY", + "test_case_name": "Error Code 4003 - Missing Required Request Body Field Validation", + "test_case_severity": "高", + "status": "通过", + "message": "当移除必填请求体字段 'id' 时,API响应了状态码 200 (非主要预期HTTP状态 [400, 422],但为4xx客户端错误), 且响应体中包含预期的业务错误码 '4003' (字段: 'code').", + "duration_seconds": 0.021074042000691406, + "timestamp": "2025-06-06T14:51:48.897354", + "validation_points": [ + { + "passed": true, + "message": "当移除必填请求体字段 'id' 时,API响应了状态码 200 (非主要预期HTTP状态 [400, 422],但为4xx客户端错误), 且响应体中包含预期的业务错误码 '4003' (字段: 'code')." + } + ] + }, + { + "test_case_id": "TC-ERROR-4003-QUERY", + "test_case_name": "Error Code 4003 - Missing Required Query Parameter Validation", + "test_case_severity": "高", + "status": "失败", + "message": "当移除必填查询参数 'id' 时,期望API返回状态码在 [400, 422] 中,或返回4xx客户端错误且业务码为 '4003'. 实际收到状态码 200. 响应体中的业务码 ('code') 为 '36'.", + "duration_seconds": 0.01451695800278685, + "timestamp": "2025-06-06T14:51:48.911893", + "validation_points": [ + { + "status_code": 200, + "response_body": { + "code": 36, + "message": "sed cillum qui labore", + "data": true + }, + "expected_http_status_codes": [ + 400, + 422 + ], + "expected_business_code": "4003", + "removed_param": "query.id" + } + ] + } + ] + }, + { + "endpoint_id": "DELETE /api/dms/{dms_instance_code}/v1/cd_geo_unit", + "endpoint_name": "地质单元数据删除", + "overall_status": "失败", + "duration_seconds": 0.111018, + "start_time": "2025-06-06T14:51:48.912010", + "end_time": "2025-06-06T14:51:49.023028", + "executed_test_cases": [ + { + "test_case_id": "TC-STATUS-001", + "test_case_name": "基本状态码 200 检查", + "test_case_severity": "严重", + "status": "通过", + "message": "响应状态码为 200,符合预期 200。", + "duration_seconds": 0.01588241600256879, + "timestamp": "2025-06-06T14:51:48.927983", + "validation_points": [ + { + "passed": true, + "message": "响应状态码为 200,符合预期 200。" + } + ] + }, + { + "test_case_id": "TC-CORE-FUNC-001", + "test_case_name": "Response Body JSON Schema Validation", + "test_case_severity": "严重", + "status": "通过", + "message": "针对 DELETE http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit (状态码 200) 的响应体 conforms to the JSON schema.", + "duration_seconds": 0.014806333001615712, + "timestamp": "2025-06-06T14:51:48.942880", + "validation_points": [ + { + "passed": true, + "message": "针对 DELETE http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit (状态码 200) 的响应体 conforms to the JSON schema." + } + ] + }, + { + "test_case_id": "TC-SECURITY-001", + "test_case_name": "HTTPS Protocol Mandatory Verification", + "test_case_severity": "严重", + "status": "失败", + "message": "API通过HTTP (http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit) 响应了成功的状态码 200,这违反了HTTPS强制策略。", + "duration_seconds": 0.015079542001330992, + "timestamp": "2025-06-06T14:51:48.957995", + "validation_points": [ + { + "status_code": 200 + } + ] + }, + { + "test_case_id": "TC-ERROR-4001-QUERY", + "test_case_name": "Error Code 4001 - Query Parameter Type Mismatch Validation", + "test_case_severity": "中", + "status": "失败", + "message": "当查询参数 'id' (路径: 'id') 类型不匹配时,期望API返回状态码在 [400, 422] 中,或返回4xx客户端错误且业务码为 '4001'. 实际收到状态码 200. 响应体中的业务码 ('code') 为 '28'.", + "duration_seconds": 0.016614416002994403, + "timestamp": "2025-06-06T14:51:48.974630", + "validation_points": [ + { + "status_code": 200, + "response_body": { + "code": 28, + "message": "sed veniam", + "data": false + }, + "expected_http_status_codes": [ + 400, + 422 + ], + "expected_business_code": "4001", + "mismatched_param": "id" + } + ] + }, + { + "test_case_id": "TC-ERROR-4001-BODY", + "test_case_name": "Error Code 4001 - Request Body Type Mismatch Validation", + "test_case_severity": "中", + "status": "失败", + "message": "当请求体字段 'version' 类型不匹配时,期望API返回状态码在 [400, 422] 中,或返回4xx客户端错误且业务码为 '4001'. 实际收到状态码 200. 响应体中的业务码 ('code') 为 '81'.", + "duration_seconds": 0.01528150000012829, + "timestamp": "2025-06-06T14:51:48.989945", + "validation_points": [ + { + "status_code": 200, + "response_body": { + "code": 81, + "message": "ex Ut", + "data": true + }, + "expected_http_status_codes": [ + 400, + 422 + ], + "expected_business_code": "4001", + "mismatched_field": "body.version" + } + ] + }, + { + "test_case_id": "TC-ERROR-4003-BODY", + "test_case_name": "Error Code 4003 - Missing Required Request Body Field Validation", + "test_case_severity": "高", + "status": "通过", + "message": "跳过测试:在API规范中未找到合适的必填请求体字段用于移除测试。", + "duration_seconds": 0.017617207999137463, + "timestamp": "2025-06-06T14:51:49.007586", + "validation_points": [ + { + "passed": true, + "message": "跳过测试:在API规范中未找到合适的必填请求体字段用于移除测试。" + } + ] + }, + { + "test_case_id": "TC-ERROR-4003-QUERY", + "test_case_name": "Error Code 4003 - Missing Required Query Parameter Validation", + "test_case_severity": "高", + "status": "失败", + "message": "当移除必填查询参数 'id' 时,期望API返回状态码在 [400, 422] 中,或返回4xx客户端错误且业务码为 '4003'. 实际收到状态码 200. 响应体中的业务码 ('code') 为 '64'.", + "duration_seconds": 0.015348207998613361, + "timestamp": "2025-06-06T14:51:49.022995", + "validation_points": [ + { + "status_code": 200, + "response_body": { + "code": 64, + "message": "dolor Excepteur labore tempor amet", + "data": true + }, + "expected_http_status_codes": [ + 400, + 422 + ], + "expected_business_code": "4003", + "removed_param": "query.id" + } + ] + } + ] + }, + { + "endpoint_id": "POST /api/dms/{dms_instance_code}/v1/cd_geo_unit", + "endpoint_name": "地质单元数据添加", + "overall_status": "失败", + "duration_seconds": 0.107121, + "start_time": "2025-06-06T14:51:49.023146", + "end_time": "2025-06-06T14:51:49.130267", + "executed_test_cases": [ + { + "test_case_id": "TC-STATUS-001", + "test_case_name": "基本状态码 200 检查", + "test_case_severity": "严重", + "status": "通过", + "message": "响应状态码为 200,符合预期 200。", + "duration_seconds": 0.015233542002533795, + "timestamp": "2025-06-06T14:51:49.038453", + "validation_points": [ + { + "passed": true, + "message": "响应状态码为 200,符合预期 200。" + } + ] + }, + { + "test_case_id": "TC-CORE-FUNC-001", + "test_case_name": "Response Body JSON Schema Validation", + "test_case_severity": "严重", + "status": "通过", + "message": "Schema验证步骤完成(未发现问题,或schema不适用/未为此响应定义)。", + "duration_seconds": 0.014519708001898834, + "timestamp": "2025-06-06T14:51:49.053015", + "validation_points": [ + { + "passed": true, + "message": "Schema验证步骤完成(未发现问题,或schema不适用/未为此响应定义)。" + } + ] + }, + { + "test_case_id": "TC-SECURITY-001", + "test_case_name": "HTTPS Protocol Mandatory Verification", + "test_case_severity": "严重", + "status": "失败", + "message": "API通过HTTP (http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit) 响应了成功的状态码 200,这违反了HTTPS强制策略。", + "duration_seconds": 0.016617666999081848, + "timestamp": "2025-06-06T14:51:49.069652", + "validation_points": [ + { + "status_code": 200 + } + ] + }, + { + "test_case_id": "TC-ERROR-4001-QUERY", + "test_case_name": "Error Code 4001 - Query Parameter Type Mismatch Validation", + "test_case_severity": "中", + "status": "通过", + "message": "跳过测试:在查询参数中未找到合适的字段来测试类型不匹配。", + "duration_seconds": 0.01427829199747066, + "timestamp": "2025-06-06T14:51:49.083948", + "validation_points": [ + { + "passed": true, + "message": "跳过测试:在查询参数中未找到合适的字段来测试类型不匹配。" + } + ] + }, + { + "test_case_id": "TC-ERROR-4001-BODY", + "test_case_name": "Error Code 4001 - Request Body Type Mismatch Validation", + "test_case_severity": "中", + "status": "失败", + "message": "当请求体字段 'version' 类型不匹配时,期望API返回状态码在 [400, 422] 中,或返回4xx客户端错误且业务码为 '4001'. 实际收到状态码 200. 响应体中的业务码 ('code') 为 '80'.", + "duration_seconds": 0.018418457999359816, + "timestamp": "2025-06-06T14:51:49.102383", + "validation_points": [ + { + "status_code": 200, + "response_body": { + "code": 80, + "message": "Ut Lorem ex id", + "data": true + }, + "expected_http_status_codes": [ + 400, + 422 + ], + "expected_business_code": "4001", + "mismatched_field": "body.version" + } + ] + }, + { + "test_case_id": "TC-ERROR-4003-BODY", + "test_case_name": "Error Code 4003 - Missing Required Request Body Field Validation", + "test_case_severity": "高", + "status": "失败", + "message": "当移除必填请求体字段 'data.0.bsflag' 时,期望API返回状态码在 [400, 422] 中,或返回4xx客户端错误且业务码为 '4003'. 实际收到状态码 200. 响应体中的业务码 ('code') 为 '15'.", + "duration_seconds": 0.014483540999208344, + "timestamp": "2025-06-06T14:51:49.116883", + "validation_points": [ + { + "status_code": 200, + "response_body": { + "code": 15, + "message": "in commodo minim", + "data": false + }, + "expected_http_status_codes": [ + 400, + 422 + ], + "expected_business_code": "4003", + "removed_field": "body.data.0.bsflag" + } + ] + }, + { + "test_case_id": "TC-ERROR-4003-QUERY", + "test_case_name": "Error Code 4003 - Missing Required Query Parameter Validation", + "test_case_severity": "高", + "status": "通过", + "message": "跳过测试:在API规范中未找到合适的必填查询参数用于移除测试。", + "duration_seconds": 0.013351333000173327, + "timestamp": "2025-06-06T14:51:49.130252", + "validation_points": [ + { + "passed": true, + "message": "跳过测试:在API规范中未找到合适的必填查询参数用于移除测试。" + } + ] + } + ] + }, + { + "endpoint_id": "GET /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}/{id}", + "endpoint_name": "地质单元查询详情", + "overall_status": "失败", + "duration_seconds": 0.10687, + "start_time": "2025-06-06T14:51:49.130308", + "end_time": "2025-06-06T14:51:49.237178", + "executed_test_cases": [ + { + "test_case_id": "TC-STATUS-001", + "test_case_name": "基本状态码 200 检查", + "test_case_severity": "严重", + "status": "通过", + "message": "响应状态码为 200,符合预期 200。", + "duration_seconds": 0.01892316700104857, + "timestamp": "2025-06-06T14:51:49.149260", + "validation_points": [ + { + "passed": true, + "message": "响应状态码为 200,符合预期 200。" + } + ] + }, + { + "test_case_id": "TC-CORE-FUNC-001", + "test_case_name": "Response Body JSON Schema Validation", + "test_case_severity": "严重", + "status": "通过", + "message": "针对 GET http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id (状态码 200) 的响应体 conforms to the JSON schema.", + "duration_seconds": 0.013931500001490349, + "timestamp": "2025-06-06T14:51:49.163213", + "validation_points": [ + { + "passed": true, + "message": "针对 GET http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id (状态码 200) 的响应体 conforms to the JSON schema." + } + ] + }, + { + "test_case_id": "TC-SECURITY-001", + "test_case_name": "HTTPS Protocol Mandatory Verification", + "test_case_severity": "严重", + "status": "失败", + "message": "API通过HTTP (http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/example_dms_instance_code/v1/cd_geo_unit/1.0.0/example_id) 响应了成功的状态码 200,这违反了HTTPS强制策略。", + "duration_seconds": 0.012880499998573214, + "timestamp": "2025-06-06T14:51:49.176112", + "validation_points": [ + { + "status_code": 200 + } + ] + }, + { + "test_case_id": "TC-ERROR-4001-QUERY", + "test_case_name": "Error Code 4001 - Query Parameter Type Mismatch Validation", + "test_case_severity": "中", + "status": "通过", + "message": "跳过测试:在查询参数中未找到合适的字段来测试类型不匹配。", + "duration_seconds": 0.013656999999511754, + "timestamp": "2025-06-06T14:51:49.189791", + "validation_points": [ + { + "passed": true, + "message": "跳过测试:在查询参数中未找到合适的字段来测试类型不匹配。" + } + ] + }, + { + "test_case_id": "TC-ERROR-4001-BODY", + "test_case_name": "Error Code 4001 - Request Body Type Mismatch Validation", + "test_case_severity": "中", + "status": "失败", + "message": "当请求体字段 'isSearchCount' 类型不匹配时,期望API返回状态码在 [400, 422] 中,或返回4xx客户端错误且业务码为 '4001'. 实际收到状态码 200. 响应体中的业务码 ('code') 为 '10'.", + "duration_seconds": 0.01650158299889881, + "timestamp": "2025-06-06T14:51:49.206314", + "validation_points": [ + { + "status_code": 200, + "response_body": { + "code": 10, + "message": "et ut consequat laboris", + "data": { + "total": 54, + "list": [ + { + "dsid": "22", + "dataRegion": "deserunt incididunt", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + }, + { + "dsid": "80", + "dataRegion": "ullamco id et consectetur cillum", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + }, + { + "dsid": "10", + "dataRegion": "anim eu aliquip et", + "gasReleaseMon": null, + "gasReleaseYear": null, + "releaseGasCum": null + } + ] + } + }, + "expected_http_status_codes": [ + 400, + 422 + ], + "expected_business_code": "4001", + "mismatched_field": "body.isSearchCount" + } + ] + }, + { + "test_case_id": "TC-ERROR-4003-BODY", + "test_case_name": "Error Code 4003 - Missing Required Request Body Field Validation", + "test_case_severity": "高", + "status": "通过", + "message": "跳过测试:在API规范中未找到合适的必填请求体字段用于移除测试。", + "duration_seconds": 0.014763375002075918, + "timestamp": "2025-06-06T14:51:49.221099", + "validation_points": [ + { + "passed": true, + "message": "跳过测试:在API规范中未找到合适的必填请求体字段用于移除测试。" + } + ] + }, + { + "test_case_id": "TC-ERROR-4003-QUERY", + "test_case_name": "Error Code 4003 - Missing Required Query Parameter Validation", + "test_case_severity": "高", + "status": "通过", + "message": "跳过测试:在API规范中未找到合适的必填查询参数用于移除测试。", + "duration_seconds": 0.016036624998378102, + "timestamp": "2025-06-06T14:51:49.237158", + "validation_points": [ + { + "passed": true, + "message": "跳过测试:在API规范中未找到合适的必填查询参数用于移除测试。" + } + ] + } + ] + } + ], + "stage_results": [ + { + "stage_id": "generic_crud_validation_stage", + "stage_name": "Generic CRUD Validation Stage", + "description": "Performs a generic CRUD (Create, List, Read, Update, Delete) flow. It tries to dynamically discover API operations based on common keywords and HTTP methods. Field names for IDs, names, features, and JSON paths for list/detail objects are configurable via class attributes or can be set in `before_stage` based on `api_group_name`.", + "api_group_name": "地质单元", + "tags": [ + "crud", + "generic_validation" + ], + "overall_status": "失败", + "duration_seconds": "0.03", + "start_time": "2025-06-06T14:51:49", + "end_time": "2025-06-06T14:51:49", + "message": "测试阶段因步骤 'List and Find Created Resource' 的状态 (失败) 而中止.", + "executed_steps_count": 2, + "executed_steps": [ + { + "step_name": "Create New Resource", + "description": null, + "lookup_key": "地质单元数据添加", + "resolved_endpoint": "POST /api/dms/{dms_instance_code}/v1/cd_geo_unit", + "status": "通过", + "message": "", + "duration_seconds": "0.0000", + "timestamp": "2025-06-06T14:51:49+0800", + "validation_points": [ + { + "passed": true, + "message": "状态码匹配 (200)." + } + ], + "api_call_curl": "N/A", + "request_details": { + "method": "POST", + "url": "http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/your_dms_instance_code/v1/cd_geo_unit", + "headers": { + "tenant-id": "your-tenant-id", + "Content-Type": "application/json", + "Accept": "application/json", + "Authorization": "Bearer your-test-token" + }, + "params": {}, + "json_data": { + "version": "1.0.0", + "data": [ + { + "wellCommonName": "TestResource_1749192709_93a75f", + "dataRegion": "Feature_1749192709" + } + ] + }, + "body": { + "version": "1.0.0", + "data": [ + { + "wellCommonName": "TestResource_1749192709_93a75f", + "dataRegion": "Feature_1749192709" + } + ] + }, + "data": null, + "timeout": 30 + }, + "extracted_outputs": {}, + "context_after_step_summary": { + "unique_resource_name": "TestResource_1749192709_93a75f", + "updated_resource_name": "TestResource_1749192709_93a75f_UPDATED", + "unique_feature_value": "Feature_1749192709", + "updated_feature_value": "Feature_1749192709_UPDATED", + "cfg_list_path_in_listresponse": "data.list", + "cfg_name_field_in_listitem": "wellCommonName", + "cfg_id_field_in_listitem": "dsid", + "cfg_resource_object_path_in_detailresponse": "data.list.0", + "cfg_name_field_in_detailresponse": "wellCommonName", + "cfg_id_field_in_detailresponse": "dsid", + "cfg_resource_object_path_in_updateresponse": "data.list.0", + "cfg_feature_field_name_for_validation": "dataRegion", + "dms_instance_code": "your_dms_instance_code", + "api_version": "1.0.0" + } + }, + { + "step_name": "List and Find Created Resource", + "description": null, + "lookup_key": "地质单元列表查询", + "resolved_endpoint": "POST /api/dms/{dms_instance_code}/v1/cd_geo_unit/{version}", + "status": "失败", + "message": "Resource not found: Name 'TestResource_1749192709_93a75f' (field: wellCommonName) not found in list at path 'data.list'.", + "duration_seconds": "0.0000", + "timestamp": "2025-06-06T14:51:49+0800", + "validation_points": [ + { + "passed": true, + "message": "状态码匹配 (200)." + }, + { + "passed": false, + "message": "Resource not found: Name 'TestResource_1749192709_93a75f' (field: wellCommonName) not found in list at path 'data.list'." + } + ], + "api_call_curl": "N/A", + "request_details": { + "method": "POST", + "url": "http://127.0.0.1:4523/m1/6389742-6086420-default/api/dms/your_dms_instance_code/v1/cd_geo_unit/1.0.0", + "headers": { + "tenant-id": "your-tenant-id", + "Content-Type": "application/json", + "Accept": "application/json", + "Authorization": "Bearer your-test-token" + }, + "params": { + "pageNo": 1, + "pageSize": 10 + }, + "json_data": { + "isSearchCount": true, + "query": { + "fields": [ + "dsid", + "wellCommonName", + "dataRegion" + ], + "filter": { + "key": "wellCommonName", + "symbol": "=", + "realValue": [ + "TestResource_1749192709_93a75f" + ] + } + } + }, + "body": { + "isSearchCount": true, + "query": { + "fields": [ + "dsid", + "wellCommonName", + "dataRegion" + ], + "filter": { + "key": "wellCommonName", + "symbol": "=", + "realValue": [ + "TestResource_1749192709_93a75f" + ] + } + } + }, + "data": null, + "timeout": 30 + }, + "extracted_outputs": {}, + "context_after_step_summary": { + "unique_resource_name": "TestResource_1749192709_93a75f", + "updated_resource_name": "TestResource_1749192709_93a75f_UPDATED", + "unique_feature_value": "Feature_1749192709", + "updated_feature_value": "Feature_1749192709_UPDATED", + "cfg_list_path_in_listresponse": "data.list", + "cfg_name_field_in_listitem": "wellCommonName", + "cfg_id_field_in_listitem": "dsid", + "cfg_resource_object_path_in_detailresponse": "data.list.0", + "cfg_name_field_in_detailresponse": "wellCommonName", + "cfg_id_field_in_detailresponse": "dsid", + "cfg_resource_object_path_in_updateresponse": "data.list.0", + "cfg_feature_field_name_for_validation": "dataRegion", + "dms_instance_code": "your_dms_instance_code", + "api_version": "1.0.0" + } + } + ], + "final_stage_context_summary": { + "unique_resource_name": "TestResource_1749192709_93a75f", + "updated_resource_name": "TestResource_1749192709_93a75f_UPDATED", + "unique_feature_value": "Feature_1749192709", + "updated_feature_value": "Feature_1749192709_UPDATED", + "cfg_list_path_in_listresponse": "data.list", + "cfg_name_field_in_listitem": "wellCommonName", + "cfg_id_field_in_listitem": "dsid", + "cfg_resource_object_path_in_detailresponse": "data.list.0", + "cfg_name_field_in_detailresponse": "wellCommonName", + "cfg_id_field_in_detailresponse": "dsid", + "cfg_resource_object_path_in_updateresponse": "data.list.0", + "cfg_feature_field_name_for_validation": "dataRegion", + "dms_instance_code": "your_dms_instance_code", + "api_version": "1.0.0" + } + } + ], + "api_call_details_summary": [] +} \ No newline at end of file diff --git a/users.db b/users.db new file mode 100644 index 0000000000000000000000000000000000000000..33e15b1dbec6ca7b08cd5e782d0cf7989deb1afb GIT binary patch literal 16384 zcmeI(%Wv8+90za*`b6qj4~VM|mDZ|gaxi((%h(iAG@2F~s`i8&+o(u9S_0d8Y_I#{ z_IKDQP=!smfZhYv5jX0!n<9$1%YkdzVVyr7>EA+d6A>Z|KMHhBkWfc`GtQ&cZ0Jn10!S>=ZN( zuVdPaTAf}>h6a3|9A^K_>Aw<5iL?zL(z9KFeHl}}0*8BUb`^83ogVm@8g z``O%mJKN?B^iGDoXTmCWh{;G0fB*y_009U<00Izz00bZa0SNr7z+=VQB;}`$P~+hw zm9vMtd7W21*RT6^`yg#D?1w9U9i5&wuSV+fz?QCZB)1dhyN*{=u3+4D-2wMi!W^I3 zfg7-a$CaHV!9Yr`J*ERCIp>KZT;WQO2SMOz#ynNCWfHiW3(uE{ke)qIj;Xnx!)jHX zI4ZDxr#f(@WJ1>%Q#DpF_hl7-5R;K0009U<00Izz00bZa0SG_<0uXpv0z3Kg?(z-A q^Y?$O|6kVQ#oa&v0uX=z1Rwwb2tWV=5P$##mIB*WzO