## 接口说明 ### 添加片段 #### 请求示例 ```json { "action": "ADD", "data": { "name": "ExtractJson", //片段名称 "language": "Java", //代码片段语言 "content": "public static String extractJson(String jsonStr) {\n jsonStr = jsonStr.replace(\"“\", \"\\\"\").replace(\"”\", \"\\\"\");\n int start = jsonStr.indexOf(\"{\");\n int end = jsonStr.lastIndexOf(\"}\");\n if (start != -1 && end != -1 && start < end) {\n return jsonStr.substring(start, end + 1);\n }\n return jsonStr;\n}" } } ``` #### 响应示例 ```json { "data" : "代码片段已添加, 路径: /home/slhaf/Documents/code-snippet/java/ExtractJson.md", "status" : "SUCCESS" } ``` ### 编辑片段 > 该部分字段中,除`id`, `path`以外,都可进行编辑 #### 请求示例 ```json { "action": "EDIT", "data": { "id": "1", //代码片段id "path": "$CODE_SNIPPET_DIR/java/ExtractJson.md", //代码片段的实际存储路径 "tags": "[JSON处理, 字符串操作, 文本提取]" //代码片段的标签 "description": "从字符串中提取JSON内容的工具方法,支持处理中文引号并定位JSON对象的起始和结束位置", //代码片段描述 "content": "public static String extractJson(String jsonStr) {\n jsonStr = jsonStr.replace(\"“\", \"\\\"\").replace(\"”\", \"\\\"\");\n int start = jsonStr.indexOf(\"{\");\n int end = jsonStr.lastIndexOf(\"}\");\n if (start != -1 && end != -1 && start < end) {\n return jsonStr.substring(start, end + 1);\n }\n return jsonStr;\n}" } } ``` #### 响应示例 ```json { "data" : "文件编辑成功: /home/slhaf/Documents/code-snippet/java/ExtractJson.md", "status" : "SUCCESS" } ``` ### 删除片段 #### 请求示例 ```json { "action": "DELETE", "data": "$CODE_SNIPPET_DIR/java/ExtractJson.md" //待删除的文件 } ``` #### 响应示例 ```json { "data" : "删除成功: /home/slhaf/Documents/code-snippet/java/ExtractJson.md", "status" : "SUCCESS" } ``` ### 搜索片段 > 搜索片段时,输入内容可由空格分隔开表明为多个匹配内容,可匹配`name`、`tags`、`description`、`language`多个字段,权重依次递减,分别为‘5、4、3、2、1’,匹配到多个字段时分值累加,最终返回的列表将依此进行由高到低的排序 #### 请求示例 ```json { "action": "LIST", "data": "json extract " } ``` #### 响应示例 ```json { "data" : "[{\"id\":\"1\",\"name\":\"ExtractJson\",\"path\":\"/home/slhaf/Documents/code-snippet/java/ExtractJson.md\",\"score\":14}]", "status" : "SUCCESS" } ```