<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Pedantic &#8212; ploshadka.net</title>
	<atom:link href="https://ploshadka.net/tag/pedantic/feed/" rel="self" type="application/rss+xml" />
	<link>https://ploshadka.net</link>
	<description>Мир интернет технологий</description>
	<lastBuildDate>Tue, 06 Dec 2022 08:27:28 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.1</generator>
	<item>
		<title>Flask Pedantic</title>
		<link>https://ploshadka.net/flask-pedantic/</link>
					<comments>https://ploshadka.net/flask-pedantic/#respond</comments>
		
		<dc:creator><![CDATA[Admin]]></dc:creator>
		<pubDate>Mon, 12 Dec 2022 08:00:00 +0000</pubDate>
				<category><![CDATA[Flask]]></category>
		<category><![CDATA[Pedantic]]></category>
		<guid isPermaLink="false">https://ploshadka.net/?p=8191</guid>

					<description><![CDATA[Примеры кода проверок на Pedantic для Flask. Эта статья будет пополняться примерами. Проверка списка данных Модель проверки: class OperationsUpdateModel&#40;BaseModel&#41;: &#160; &#160; id: int &#160; &#160; confirmed: bool Как проверить валидацию данных в API и отправить ошибку: @operations_bp.route&#40;'/update-operations/', methods=&#91;'PATCH'&#93;&#41; @login_required def...]]></description>
										<content:encoded><![CDATA[<p>Примеры кода проверок на <strong>Pedantic</strong> для <strong>Flask</strong>. <span id="more-8191"></span></p>
<p>Эта статья будет пополняться примерами. </p>
<h2>Проверка списка данных</h2>
<p>Модель проверки:</p>
<div class="codecolorer-container python dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="python codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;"><span style="color: #ff7700;font-weight:bold;">class</span> OperationsUpdateModel<span style="color: black;">&#40;</span>BaseModel<span style="color: black;">&#41;</span>:<br />
&nbsp; &nbsp; <span style="color: #008000;">id</span>: <span style="color: #008000;">int</span><br />
&nbsp; &nbsp; confirmed: <span style="color: #008000;">bool</span></div></div>
<p>Как проверить валидацию данных в API и отправить ошибку:</p>
<div class="codecolorer-container python dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="python codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;"><span style="color: #66cc66;">@</span>operations_bp.<span style="color: black;">route</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'/update-operations/'</span><span style="color: #66cc66;">,</span> methods<span style="color: #66cc66;">=</span><span style="color: black;">&#91;</span><span style="color: #483d8b;">'PATCH'</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span><br />
<span style="color: #66cc66;">@</span>login_required<br />
<span style="color: #ff7700;font-weight:bold;">def</span> update_operations_route<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>:<br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">try</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; data <span style="color: #66cc66;">=</span> request.<span style="color: black;">get_json</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">try</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; list_ <span style="color: #66cc66;">=</span> parse_obj_as<span style="color: black;">&#40;</span>List<span style="color: black;">&#91;</span>OperationsUpdateModel<span style="color: black;">&#93;</span><span style="color: #66cc66;">,</span> data<span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">except</span> <span style="color: #008000;">Exception</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: black;">&#123;</span><span style="color: #483d8b;">&quot;error&quot;</span>: <span style="color: #483d8b;">&quot;Must be a list {id: int, confirmed: bool}&quot;</span><span style="color: black;">&#125;</span><span style="color: #66cc66;">,</span> <span style="color: #ff4500;">400</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">return</span> jsonify<span style="color: black;">&#40;</span><span style="color: #483d8b;">'ok'</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">except</span> <span style="color: #008000;">Exception</span> <span style="color: #ff7700;font-weight:bold;">as</span> e:<br />
&nbsp; &nbsp; &nbsp; &nbsp; logger.<span style="color: black;">error</span><span style="color: black;">&#40;</span><span style="color: black;">&#123;</span>e<span style="color: black;">&#125;</span><span style="color: #66cc66;">,</span> exc_info<span style="color: #66cc66;">=</span><span style="color: #008000;">True</span><span style="color: black;">&#41;</span></div></div>
]]></content:encoded>
					
					<wfw:commentRss>https://ploshadka.net/flask-pedantic/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
