CN109766102A - 一种自动解析请求参数的匹配方法 - Google Patents

一种自动解析请求参数的匹配方法 Download PDF

Info

Publication number
CN109766102A
CN109766102A CN201811647071.5A CN201811647071A CN109766102A CN 109766102 A CN109766102 A CN 109766102A CN 201811647071 A CN201811647071 A CN 201811647071A CN 109766102 A CN109766102 A CN 109766102A
Authority
CN
China
Prior art keywords
json
parameter
parsing
matching
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811647071.5A
Other languages
English (en)
Inventor
袁源
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Elite Information Technology (wuhan) Co Ltd
Original Assignee
Elite Information Technology (wuhan) Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Elite Information Technology (wuhan) Co Ltd filed Critical Elite Information Technology (wuhan) Co Ltd
Priority to CN201811647071.5A priority Critical patent/CN109766102A/zh
Publication of CN109766102A publication Critical patent/CN109766102A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种自动解析请求参数的匹配方法,包括以下步骤:创建注解标识、创建解析模块和对JSON参数进行处理;方法从提高开发效率和准确性出发,将传入的一整个JSON串,按照开发接收参数的个数、名字、类型自动解析成多个入参,并和开发制定的入参进行匹配,自动赋值,从而保留了方法入参明确的特性,提高了方法的描述准确性,从而降低了开发因为不了解入参对象中实际使用的参数项导致开发错误和开发效率的降低;而且该方法避免了为了解析JSON对应的数据而编写各类对应的JavaBean,减少的编写代码量和不必要的类定义,占用内存空间;使得数据接收者更清晰的知道接收到的参数个数、含义,减少理解上的偏差,增加代码准确性和可读性。

Description

一种自动解析请求参数的匹配方法
技术领域
本发明涉及数据解析技术领域,具体为一种自动解析请求参数的匹配方法。
背景技术
随着互联网和物联网的普及,各类基于http,https协议的交互系统越来越多,数据交互量也越来越大,采用JSON格式进行数据传输变成了一种普片现象,而传统的Java解析方式是对将JSON数据解析成一个JSON对象,哪怕是采用SpringMVC框架,也只能将整个RequestBody里的JSON数据解析成一个Java对象,没有一个方式可以将JSON的数据解析像传统的键值对传参那样将每一个数据项和入参对应;为此,我们提出一种自动解析请求参数的匹配方法。
发明内容
本发明的目的在于提供一种自动解析请求参数的匹配方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种自动解析请求参数的匹配方法,包括以下步骤:
S1:创建一个注解标识:JsonParam,用来标识出需要进行JSON数据匹配的参数名称;
S2:创建一个解析模块,解析模块实现原始JSON数据的解析和匹配,解析模块的实现步骤如下:
a: 判断HTTP或HTTPS的请求头的ContentType是application/json;
b:读取请求里的Body内容,获得JSON的数据字符串:json;
c: 将json解析成以属性名为key,属性值为Value的参数Map:paramMap;
d: 检查接收数据的方法入参的注解,如果有JsonParam注解,则获得该注解里的value值,即参数名:paramName和参数类型:paramType;
e:如果Setp4里的paramName和paramMap中的key匹配,则将paramMap中该key对应的value解析成参数类型为paramType的对象;
h:将Step5中获得的对象返回,即完成了JSON数据的对应解析匹配。
S3:将解析模块加入到通过重载Spring的HandlerMethod Argument ResolverComposite的resove Argument方法中,对实际请求的JSON参数进行处理。
与现有技术相比,本发明的有益效果是:该方法从提高开发效率和准确性出发,将传入的一整个JSON串,按照开发接收参数的个数、名字、类型自动解析成多个入参,并和开发制定的入参进行匹配,自动赋值,从而保留了方法入参明确的特性,提高了方法的描述准确性,从而降低了开发因为不了解入参对象中实际使用的参数项导致开发错误和开发效率的降低;而且该方法避免了为了解析JSON对应的数据而编写各类对应的JavaBean,减少的编写代码量和不必要的类定义,占用内存空间;使得数据接收者更清晰的知道接收到的参数个数、含义,减少理解上的偏差,增加代码准确性和可读性。
附图说明
图1为本发明自动解析请求参数的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本发明提供一种技术方案:一种自动解析请求参数的匹配方法,包括以下步骤:
S1:创建一个注解标识:JsonParam,用来标识出需要进行JSON数据匹配的参数名称;
S2:创建一个解析模块,解析模块实现原始JSON数据的解析和匹配,解析模块的实现步骤如下:
a: 判断HTTP或HTTPS的请求头的ContentType是application/json;
b:读取请求里的Body内容,获得JSON的数据字符串:json;
c: 将json解析成以属性名为key,属性值为Value的参数Map:paramMap;
d: 检查接收数据的方法入参的注解,如果有JsonParam注解,则获得该注解里的value值,即参数名:paramName和参数类型:paramType;
e:如果Setp4里的paramName和paramMap中的key匹配,则将paramMap中该key对应的value解析成参数类型为paramType的对象;
h:将Step5中获得的对象返回,即完成了JSON数据的对应解析匹配。
S3:将解析模块加入到通过重载Spring的HandlerMethod Argument ResolverComposite的resove Argument方法中,对实际请求的JSON参数进行处理。
以下表1为传统方法和本发明方法获得参数差异比较表:
该方法从提高开发效率和准确性出发,将传入的一整个JSON串,按照开发接收参数的个数、名字、类型自动解析成多个入参,并和开发制定的入参进行匹配,自动赋值,从而保留了方法入参明确的特性,提高了方法的描述准确性,从而降低了开发因为不了解入参对象中实际使用的参数项导致开发错误和开发效率的降低;而且该方法避免了为了解析JSON对应的数据而编写各类对应的JavaBean,减少的编写代码量和不必要的类定义,占用内存空间;使得数据接收者更清晰的知道接收到的参数个数、含义,减少理解上的偏差,增加代码准确性和可读性。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (1)

1.一种自动解析请求参数的匹配方法,其特征在于,包括以下步骤:
S1:创建一个注解标识:JsonParam,用来标识出需要进行JSON数据匹配的参数名称;
S2:创建一个解析模块,解析模块实现原始JSON数据的解析和匹配,解析模块的实现步骤如下:
a: 判断HTTP或HTTPS的请求头的ContentType是application/json;
b:读取请求里的Body内容,获得JSON的数据字符串:json;
c: 将json解析成以属性名为key,属性值为Value的参数Map:paramMap;
d: 检查接收数据的方法入参的注解,如果有JsonParam注解,则获得该注解里的value值,即参数名:paramName和参数类型:paramType;
e:如果Setp4里的paramName和paramMap中的key匹配,则将paramMap中该key对应的value解析成参数类型为paramType的对象;
h:将Step5中获得的对象返回,即完成了JSON数据的对应解析匹配;
S3:将解析模块加入到通过重载Spring的HandlerMethod Argument ResolverComposite的resove Argument方法中,对实际请求的JSON参数进行处理。
CN201811647071.5A 2018-12-30 2018-12-30 一种自动解析请求参数的匹配方法 Pending CN109766102A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811647071.5A CN109766102A (zh) 2018-12-30 2018-12-30 一种自动解析请求参数的匹配方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811647071.5A CN109766102A (zh) 2018-12-30 2018-12-30 一种自动解析请求参数的匹配方法

Publications (1)

Publication Number Publication Date
CN109766102A true CN109766102A (zh) 2019-05-17

Family

ID=66453312

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811647071.5A Pending CN109766102A (zh) 2018-12-30 2018-12-30 一种自动解析请求参数的匹配方法

Country Status (1)

Country Link
CN (1) CN109766102A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112181804A (zh) * 2020-08-31 2021-01-05 五八到家有限公司 一种参数校验方法、设备以及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020064A (zh) * 2011-09-20 2013-04-03 佳都新太科技股份有限公司 一种通过注解方式生成查询条件的方法和配置
CN104199725A (zh) * 2014-09-27 2014-12-10 上海瀚之友信息技术服务有限公司 一种服务接口数据模拟方法和系统
CN105955790A (zh) * 2016-05-20 2016-09-21 广州华多网络科技有限公司 数据处理方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020064A (zh) * 2011-09-20 2013-04-03 佳都新太科技股份有限公司 一种通过注解方式生成查询条件的方法和配置
CN104199725A (zh) * 2014-09-27 2014-12-10 上海瀚之友信息技术服务有限公司 一种服务接口数据模拟方法和系统
CN105955790A (zh) * 2016-05-20 2016-09-21 广州华多网络科技有限公司 数据处理方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
木叶_之荣: "SpringMVC之分析HandlerMethodArgumentResolver请求对应处理器方法参数的解析过程", 《HTTPS://DEVELOPER.ALIYUN.COM/ARTICLE/348569》 *
飞火龙在天: "json参数的接口基本开发(@ResponseBody和@requestBody的使用)", 《HTTPS://BLOG.CSDN.NET/QQ_23145857/ARTICLE/DETAILS/84107394》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112181804A (zh) * 2020-08-31 2021-01-05 五八到家有限公司 一种参数校验方法、设备以及存储介质
CN112181804B (zh) * 2020-08-31 2023-09-08 五八到家有限公司 一种参数校验方法、设备以及存储介质

Similar Documents

Publication Publication Date Title
CN108733689B (zh) 一种json文本的比对方法和装置
US20140122535A1 (en) Extracting Semantic Relationships from Table Structures in Electronic Documents
CN109670081B (zh) 业务请求处理的方法及装置
CN106341444B (zh) 数据访问方法和装置
CN108564339A (zh) 一种账户管理方法、装置、终端设备及存储介质
CN103428261A (zh) 通过硬件辅助处理http报头的方法
CN104391934A (zh) 数据校验方法和装置
JP2020187733A (ja) アプリケーション・プログラミング・インターフェースのドキュメンテーションの注釈付け
CN113051285A (zh) Sql语句的转换方法、系统、设备及存储介质
CN106970929A (zh) 数据导入方法及装置
CN108664665A (zh) 数据格式转化方法、装置、设备及可读存储介质
CN104123125A (zh) 网页资源的获取方法及装置
CN113204555B (zh) 数据表处理方法、装置、电子设备和存储介质
CN109766102A (zh) 一种自动解析请求参数的匹配方法
CN107040613A (zh) 一种报文传输方法及系统
CN109726313A (zh) 操作数据库的方法及装置
CN112883088B (zh) 一种数据处理方法、装置、设备及存储介质
US11100280B2 (en) Test case consolidator
CN105302728B (zh) Sap接口的测试方法和装置
CN114968917A (zh) 一种文件数据快速导入方法及装置
CN108052590B (zh) 一种结构化数据的动态使用方法及系统
US10817661B2 (en) System architecture framework
CN104133681B (zh) 一种ambari‑web端架构分析方法
CN111813999A (zh) 一种提高以太坊智能合约字段扩展性的方法
CN104318019B (zh) 一种基于耦合关系的飞行器系统分析系统及方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20190517

RJ01 Rejection of invention patent application after publication