<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>GraphQL on Yunier&#39;s Wiki</title>
    <link>http://localhost:1313/tags/graphql/</link>
    <description>Recent content in GraphQL on Yunier&#39;s Wiki</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Sat, 09 Oct 2021 00:00:00 +0000</lastBuildDate>
    <atom:link href="http://localhost:1313/tags/graphql/rss" rel="self" type="application/rss+xml" />
    <item>
      <title>A Better Web API Validation Strategy</title>
      <link>http://localhost:1313/post/2021/a-better-web-api-validation-strategy/</link>
      <pubDate>Sat, 09 Oct 2021 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/post/2021/a-better-web-api-validation-strategy/</guid>
      <description>&lt;p&gt;As an API developer, you will eventually need to determine how to handle data validation.&lt;/p&gt;&#xA;&lt;p&gt;The .NET ecosystem offers a few options, the first option, &lt;a href=&#34;https://docs.microsoft.com/en-us/aspnet/core/mvc/models/validation?view=aspnetcore-6.0#validation-attributes&#34;&gt;validation attributes&lt;/a&gt;, can be used to annotate how a model should be validated. Validation attributes are great, they don&amp;rsquo;t require any external dependencies, you can specify error messages, create your own &lt;a href=&#34;https://docs.microsoft.com/en-us/aspnet/core/mvc/models/validation?view=aspnetcore-6.0#validation-attributes&#34;&gt;custom validator&lt;/a&gt;, validate against many data types.&lt;/p&gt;&#xA;&lt;p&gt;For example, take the following Movie class, notice how the properties have been annotated with validation rules.&lt;/p&gt;</description>
    </item>
    <item>
      <title>GraphQL Is Protocol Agnostic</title>
      <link>http://localhost:1313/post/2021/graphql-is-protocol-agnostic/</link>
      <pubDate>Fri, 04 Jun 2021 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/post/2021/graphql-is-protocol-agnostic/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m seeing many API developers, specially those that come from a REST background, struggle with GraphQL simply because they are introducing protocol concepts into their GraphQL documents.&lt;/p&gt;&#xA;&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;give it a REST... &lt;a href=&#34;https://t.co/sUxqL4ACdj&#34;&gt;pic.twitter.com/sUxqL4ACdj&lt;/a&gt;&lt;/p&gt;&amp;mdash; I Am Devloper (@iamdevloper) &lt;a href=&#34;https://twitter.com/iamdevloper/status/1327190006520221696?ref_src=twsrc%5Etfw&#34;&gt;November 13, 2020&lt;/a&gt;&lt;/blockquote&gt; &lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;&#xD;&#xA;&lt;p&gt;GraphQL is not bound to any network protocol, it is most often implemented on top of the HTTP protocol and it only uses the most basic features of HTTP. That is because GraphQL treats HTTP as a dum pipe. Introducing protocol concept such as a 404 Not Found status code into your GraphQL documents will only cause you development pain.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Asynchronous Request In GraphQL</title>
      <link>http://localhost:1313/post/2021/asynchronous-request-in-graphql/</link>
      <pubDate>Sun, 03 Jan 2021 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/post/2021/asynchronous-request-in-graphql/</guid>
      <description>&lt;p&gt;When I first started to learn about GraphQL I was somewhat surprise to learn that the &lt;a href=&#34;https://spec.graphql.org/June2018/&#34;&gt;GraphQL specification&lt;/a&gt; did not provide any guidance or spoke of any methods to handle asynchronous request. By asynchronous request, I mean request that cannot be completed within your normal request-response context.&lt;/p&gt;&#xA;&lt;p&gt;For example, take an API that aggregates orders by combining various types of filters, the API may allow you to filter by only orders that are greater than $100.00, or orders placed in certain date range, or orders that have a particular product and so on. Depending on the amount of data and filters used, the query to get the data may take a couple of minutes, maybe even hours. The question now becomes how to best handle long-running request in GraphQL.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
