ASP.net Core WebAPI路由顺序参数条件

时间:2019-05-26 20:47:22

标签: asp.net-mvc asp.net-core asp.net-core-webapi

我有以下控制器:

>>> matrix
[(222, {'a': 1, 'b': 3, 'c': 2, 'd': 1}), (333, {'a': 1, 'b': 0, 'c': 0, 'd': 1})]
>>> data = [[item[0]]+[i+1]+list(value) for item in matrix for i,value in enumerate(item[1].items()) if value[-1]!=0]
>>> data
[[222, 1, 'a', 1], [222, 2, 'b', 3], [222, 3, 'c', 2], [222, 4, 'd', 1], [333, 1, 'a', 1], [333, 4, 'd', 1]]
>>> pd.DataFrame(data, columns=['ordernum', 'ordernum_index', 'key', 'value'])
   ordernum  ordernum_index key  value
0       222               1   a      1
1       222               2   b      3
2       222               3   c      2
3       222               4   d      1
4       333               1   a      1
5       333               4   d      1

跟随他的动作

[Route("xapi/statements")] << -- NOTICE THE ROUTE
[Produces("application/json")]
public class StatementsController : ApiControllerBase

这些动作按以下顺序执行: 1. PutStatement 2.后记

但是,仅当提供了statementId参数时,才应触发PutStatement。事实并非如此。

如果语句有任何附件,我正在使用2个模型绑定器将流的内容解析为application / json或multipart / form-data。 1. StatementPutModelBinder 2. StatementsPostModelBinder

如果未提供statementId参数,如何防止操作被执行? 例如。 / xapi / statements / =>点击PutStatement

1 个答案:

答案 0 :(得分:0)

我没有找到自己的问题的答案,但我犯了一个错误,并给人一种印象,即xAPI语句资源应允许statementId作为POST请求的参数。因此,我不再有这个问题了,这开始了我的问题。