Skip to content

Commit aaee848

Browse files
committed
fix: params is not required
1 parent f2e112c commit aaee848

File tree

5 files changed

+7
-8
lines changed

5 files changed

+7
-8
lines changed

fastapi_jsonrpc/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -366,7 +366,7 @@ class JsonRpcRequest(BaseModel):
366366
jsonrpc: StrictStr = Field('2.0', const=True, example='2.0')
367367
id: Union[StrictStr, int] = Field(None, example=0)
368368
method: StrictStr
369-
params: dict
369+
params: dict = Field(default_factory=dict)
370370

371371
class Config:
372372
extra = 'forbid'

tests/test_jsonrpc.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ def test_no_params(echo, json_request):
3232
'id': 111,
3333
'jsonrpc': '2.0',
3434
'method': 'no_params',
35-
'params': {},
3635
})
3736
assert resp == {'id': 111, 'jsonrpc': '2.0', 'result': '123'}
3837

@@ -202,10 +201,10 @@ def test_request_params_missing(echo, json_request):
202201
})
203202
assert resp == {
204203
'error': {
205-
'code': -32600,
206-
'message': 'Invalid Request',
204+
'code': -32602,
205+
'message': 'Invalid params',
207206
'data': {'errors': [
208-
{'loc': ['params'], 'msg': 'field required', 'type': 'value_error.missing'},
207+
{'loc': ['data'], 'msg': 'field required', 'type': 'value_error.missing'},
209208
]},
210209
},
211210
'id': 0,

tests/test_openapi.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -366,7 +366,7 @@ def probe(
366366
'type': 'object',
367367
},
368368
},
369-
'required': ['method', 'params'],
369+
'required': ['method'],
370370
'title': '_Request',
371371
'type': 'object',
372372
},

tests/test_params.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -381,7 +381,7 @@ def test_openapi(app_client, openapi_compatible):
381381
'type': 'object',
382382
},
383383
},
384-
'required': ['method', 'params'],
384+
'required': ['method'],
385385
'title': '_Request',
386386
'type': 'object',
387387
},

tests/test_shared_model.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -429,7 +429,7 @@ def test_openapi(app_client, openapi_compatible):
429429
'type': 'object',
430430
},
431431
},
432-
'required': ['method', 'params'],
432+
'required': ['method'],
433433
'title': '_Request',
434434
'type': 'object',
435435
},

0 commit comments

Comments
 (0)