From 512df243809ca085003fe7a4d3e6521dd4fce535 Mon Sep 17 00:00:00 2001 From: oyo Date: Mon, 14 Jul 2025 19:27:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20llms-full.txt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- llms-full.txt | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/llms-full.txt b/llms-full.txt index fc41778..699943e 100644 --- a/llms-full.txt +++ b/llms-full.txt @@ -1066,8 +1066,8 @@ DateTime endTime; //会议结束时间 - **优先复用:** 当用户需要创建一个RPC时,如果用户有明确要求创建的方式,则按照用户的要求来创建。如果没有明确要求,则通常先判断是否可以通过创建读方案、写方案、DTO来使TOCO自动创建出对应的RPC,最后再考虑通过TOCO创建自定义RPC - **自定义RPC和代码中手写方法的关系:** 二者都可以通过手动的方式实现一个服务层的方法,应用场景的区别在于:如果一个方法需要被其他模块订阅,则通常使用自定义RPC;如果一个方法只是某个API私有调用,不需要给外部模块开放,则可以使用代码手写方法 - **关键配置:** 类名(驼峰,首字母大写,以Service结尾)、是否公开、方法名(驼峰,首字母小写)、请求参数、返回值 -- **参数类型:** RPC的参数**只能**为QTO、BTO、Enum、基本类型,可为单值或列表。注意如果是对象类型,则优先使用QTO、BTO作为参数,**禁止使用**VO、EO和自定义结构如Object -- **返回值类型:** RPC的返回值**只能**为DTO、Enum、基本类型,可为单值或列表,**禁止使用**VO、QTO、BTO、EO、自定义结构如Object作为返回值。注意如果是对象类型,则优先使用DTO作为返回值 +- **参数类型:** RPC的参数**只能**为QTO、BTO、Enum、基本类型,可为单值或列表。注意如果是对象类型,则优先使用QTO、BTO作为参数,**禁止使用**VO和自定义结构如Object +- **返回值类型:** RPC的返回值**只能**为DTO、Enum、基本类型,可为单值或列表,**禁止使用**VO、QTO、BTO、自定义结构如Object作为返回值。注意如果是对象类型,则优先使用DTO作为返回值 - **TOCO中json结构描述:** 在TOCO中,DTO使用一个json结构表示,示例如下: ```json { @@ -1096,8 +1096,8 @@ requestParams为请求参数列表,response为返回结构,requestParams中 - **定义与用途:** 在TOCO中,API用于定义对外暴露的HTTP接口 - **如何创建/生成:** API一般为通过TOCO创建,需指定具体的参数和返回值等 - **关键配置:** uri(加粗展示,一般为/api/${moduleName}/xxx,如/api/user/create,全局唯一。如果用户有特殊命名规则的话以用户要求为准)、类名(以Controller结尾)、方法名(驼峰,首字母小写)、请求参数、返回值 -- **参数类型:** API的参数**只能**为QTO、BTO、Enum、基本类型,可为单值或列表。注意如果是对象类型,则优先使用QTO、BTO作为参数。**禁止使用**DTO、EO和自定义结构如Object -- **返回值类型:** TOCO的API运行在自己的Java脚手架中,脚手架会自动对API的返回值做一层对象包装(code、message、data)。所以在TOCO中,API的返回值无需考虑返回码和错误信息,只需考虑返回的数据本身。TOCO中API的返回值**只能**为VO、Enum、基本类型,可为单值或列表,**禁止使用**DTO、QTO、BTO、EO、自定义结构如Object作为返回值。注意如果是对象类型,则优先使用VO作为返回值。 +- **参数类型:** API的参数**只能**为QTO、BTO、Enum、基本类型,可为单值或列表。注意如果是对象类型,则优先使用QTO、BTO作为参数。**禁止使用**DTO和自定义结构如Object +- **返回值类型:** TOCO的API运行在自己的Java脚手架中,脚手架会自动对API的返回值做一层对象包装(code、message、data)。所以在TOCO中,API的返回值无需考虑返回码和错误信息,只需考虑返回的数据本身。TOCO中API的返回值**只能**为VO、Enum、基本类型,可为单值或列表,**禁止使用**DTO、QTO、BTO、自定义结构如Object作为返回值。注意如果是对象类型,则优先使用VO作为返回值。 - **TOCO中json结构描述:** 在TOCO中,API使用一个json结构表示,示例如下: ```json { @@ -1318,7 +1318,11 @@ requestParams为请求参数列表,response为返回结构,requestParams中 #### 4.2 为所有的写场景都创建写方案(Create WritePlan For All Write Scenarios): 通常在分析业务需求时,需要分析出**所有**写数据的场景,并按照**聚合维度**进行分组,然后针对每个写场景**都需要**创建对应的写方案,不能有遗漏。写方案可以按需根据聚合进行合并。 #### 4.3 接口参数类型和返回值选择(Interface Parameter & Return Type Definition): - 在做TOCO接口(API、RPC)设计时,通常会先判断接口的主要功能是读数据库或写数据库,并分析相关的读写方案以及对应的QTO和BTO。如果是读场景,则参数会**优先使**用相关的QTO;如果是写场景,则参数会**优先**使用相关的BTO,如果BTO和QTO无法满足要求,则可以再增加基本类型或Enum、EO等类型参数。参数类型选择时必须遵循以下要求:a.DTO、VO不能作为参数类型;b.QTO、BTO不能作为返回值类型 + 在做TOCO接口(API、RPC)设计时,通常会先判断接口的主要功能是读数据库或写数据库,并分析相关的读写方案以及对应的QTO和BTO。如果是读场景,则参数会**优先使**用相关的QTO;如果是写场景,则参数会**优先**使用相关的BTO,如果BTO和QTO无法满足要求,则可以再增加基本类型或Enum、EO等类型参数。参数类型选择时必须遵循以下要求:a.DTO、VO不能作为参数类型;b.QTO、BTO不能作为返回值类型。 + **重要说明:** + - 本章节描述的是参数选择的**优先级原则**,不是绝对限制 + - API参数的绝对限制请参考2.14章节 + - "优先使用QTO/BTO"意思是在满足规范的前提下,根据场景选择最合适的参数类型 ### 5. 本地代码阅读和编写指南 #### 5.1 代码阅读