我想知道在前端(JS / React)和后端(Rails / Mongoid)中处理参数验证的更好方法是什么。我当时想直接在Rails控制器中进行验证,因为几乎所有内容都是可选的,它是针对API的,并且有许多参数。即使不需要该字段,Mongoid也会为每个field
条目填充一个null
值。
我当时在想有这样的配置文件:
search_engine_a:
q:
required: true
explanation: Query to be searched
error: Query is required
num:
explanation: Number of results
type: Integer
interval: 0_100
error: Needs to be an integer between 0 and 100
start
explanation: Results offset
type: Integer
error: Needs to be an integer between 0 and 100
...
search_engine_b:
wd:
required: true
explanation: Query to be searched
...
...
...
然后在Ruby on Rails中提供一些代码来解析该代码以用于我们的API请求,并在需要时提供错误消息。前端在JS中也是如此。解析相同的配置文件,并使用它在我们的API Playground界面中提供错误和说明。
这有意义还是我在重新发明轮子?
[EDIT]为了给出更精确的想法,它用于以下API:https://serpapi.com/search-api
答案 0 :(得分:1)
您是否考虑过使用json-schema
? validate it server side,typescript integration有很多插件,也许还有很多我不知道的插件!