WebApi数据检验

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WebApi数据检验相关的知识,希望对你有一定的参考价值。

参考技术A WebAPI的模型校验同ASP.NET MVC的数据校验。

若想在WebAPI加入模型验证,需要三个步骤;

添加用户信息类,添加校验标记。
常用的校验标记有:

. Required:必须满足不为空

. RegularExpression:正则表达式验证

. StringLength:指定字符允许的范围

. DataType:校验数据类型

. Range:指定数字允许的范围

下面是使用了校验标记的用户信息类

WebAPI的校验逻辑是在控制器下的方法中起作用的,如下示例

ModelState.IsValid就是用来判断,传入的参数-用户信息类 ,是否通过校验。如果不通过,返回错误信息。

添加一个html页面

Python怎么检验数据分布

import matplotlib.pyplot as plt
import matplotlib.mlab as mlab
import numpy as np
import pydotplus
import csv
import scipy.stats as ss
game =[ ]#game是一个列表 ,你自己弄一个自己的数据列表即可
x = np.array(game)#x要处理成这个样子:
N=30
counts, bins = np.histogram(x, bins=N)
bin_width = bins[1]-bins[0]
total_count = float(sum(counts))
f, ax = plt.subplots(1, 1)
f.suptitle('query_uri')
ax.bar(bins[:-1]+bin_width/2., counts, align='center', width=.85*bin_width)
ax.grid('on')
def fit_pdf(x, name='lognorm', color='r'):
dist = getattr(ss, name) # params = shape, loc, scale
# dist = ss.gamma # 3 params
params = dist.fit(x, loc=0) # 1-day lag minimum for shipping
y = dist.pdf(bins, *params)*total_count*bin_width
sqerror_sum = np.log(sum(ci*(yi - ci)**2. for (ci, yi) in zip(counts, y)))
ax.plot(bins, y, color, lw=3, alpha=0.6, label='%s err=%3.2f' % (name, sqerror_sum))
return y
colors = ['r-', 'g-', 'r:', 'g:']
for name, color in zip(['exponweib', 't', 'gamma'], colors): # 'lognorm', 'erlang', 'chi2', 'weibull_min',
#分号后面的分布也可以打进去 线条颜色自己加
y = fit_pdf(x, name=name, color=color)
ax.legend(loc='best', frameon=False)
plt.savefig('G:\weibull216.png')
plt.show()
我之前也是考虑这个问题,这些代码能实现'exponweib', 't', 'gamma', 'lognorm', 'erlang', 'chi2', 'weibull_min',的拟合。只要自己输入game,game为一组数据即可。
参考技术A 基数排序?

以上是关于WebApi数据检验的主要内容,如果未能解决你的问题,请参考以下文章

WebApi接口 - 如何在应用中调用webapi接口

反应不显示来自webapi的数据[关闭]

WebAPI返回数据类型解惑

WebAPI返回数据类型解惑

发布 JSON 数据 WebAPI

WebAPI系列之快速入门