# 《API网关》第5章:HTTP请求参数解析

作者:小傅哥
博客:https://bugstack.cn (opens new window)

沉淀、分享、成长,让自己和他人都能有所收获!😄

# 一、学习指引

准备好物料再开始做细节设计

当我们准备开发一个新的功能流程时,不要着急于直接上来就去打开累代码。你可以尝试着把需要开发的流程中的功能节点做一些案例。看看每个要实现的案例的入参、出参、调用形式都是什么样的,而这些信息的获取,将更好的帮助你更好的完成功能节点的串联。

就像本章如题一样我们要去解析 HTTP 的请求时所含带的参数信息,这包括GET请求、POST请求,也包括参数类型为 application/json 或者是 multipart/form-data 同时在执行 RPC 请求时,还可能因为参数为基本类型还是对象类型要做一些判断处理。所以类似这样的功能使用,最好都在开发前做一些案例测试,验证不同的功能是如何使用的,这样也可以帮助你从前到后的流程,设计和实现起来更加顺畅。

# 二、解析设计

HTTP 接口请求的参数需要解析成可以匹配到 RPC 接口的入参信息,所以通常为了方便控制一般只支持 RPC 接口单个对象入参,并且不允许同名不同参数的重载方法出现,这些会在 RPC 方法注册阶段进行报错提醒。

  • 从网络请求到会话,需要对 GET/POST 的请求,以及请求的参数类型 Content-Type 做细化的参数解析操作。
  • 同时按照 RPC 泛化调用的入参方式,将解析的参数封装处理。这部分内容在本章代码对应的 test 中有案例