Image for post
Image for post

OpenAPI

OpenAPI defines some standards which are used;

  • for the design of RESTful web servers,

You can inform the users of your APIs with OpenAPI about

  • the endpoints

Swagger

Swagger is a set of open-source software tools built around the OpenAPI Specification with which we can build, document, and test our APIs.

You can get more information about Swagger from its web site.

In this article, I will talk about;

  • how to implement Swagger to a RESTful web server built with Node.js


Image for post
Image for post

OpenAPI

OpenAPI;

  • RESTful web server’larının tasarlanmasında,

kullanılan bir takım standartlardır. OpenAPI ile;

  • endpointler,

gibi konularda API kullanıcılarını bilgilendirmek mümkündür.

Swagger

Swagger, REST API’larınızı tasarlamanıza, oluşturmanıza, belgelemenize ve kullanmanıza yardımcı olabilecek, OpenAPI standartları çerçevesinde oluşturulmuş bir dizi açık kaynaklı araçtır.

Swagger’a dair daha fazla bilgiye kendi sitesinden ulaşabilirsiniz.

Bu yazıda;

  • Swagger’ın Node.js ile hazırlanmış bir RESTful web server’a nasıl implemente edileceğinden,

bahsetmek istiyorum.

Anlatımımı, Node.js ve RESTful API kavramlarına en azından temel anlamda hakim olduğunuzu düşünerek yapacağım.

Öncelikle bir…


Image for post
Image for post

The safety of a project is just as important as building it. Sometimes, we want our data to be accessed only by the people registered before, not everyone. We provide this with authentication.

And sometimes we don’t want everyone to access every data and API. We provide this with the concept of authorization.

In this article, I will talk about how we can provide authorization and authentication on the server-side by using jsonwebtoken (jwt) and graphql-shield libraries. I will build the server in Node.js using GraphQL. Then I will make a login process with an access token that we have…


Image for post
Image for post

Authentication ve Authorization

Bir projenin güvenliği en az onu inşa etmek kadar önemlidir. Datalarımıza, bazen herkesin değil de sadece daha önce kaydını aldığımız kişilerin erişmesini isteriz. Bunu authentication (doğrulama) ile sağlarız.

Bazen de herkesin her data’ya erişmesini ve her işlemi yapmasını istemeyiz. Bunu da authorization (yetkilendirme) kavramı ile sağlarız.

Ben bu yazıda jsonwebtoken (jwt) ve graphql-shield kütüphanelerini kullanarak authorization ve authentication’ı server tarafında nasıl sağlayabileceğimizden bahsedeceğim. Server’ı Node.js kullanarak, GraphQL ile kuracağız. Daha sonra jwt aracılığıyla ürettiğimiz bir access token ile login işlemi yapacağız. Sonrasında, login olmuş bir kullanıcının hangi API’ya erişim izni olduğununa graphql-shield fonksiyonları ile karar vereceğiz.

Server’ı kurduktan sonra bu…


Image for post
Image for post

Apollo-Angular is a flexible GraphQL client with which you can send queries from a front-end client project or from a native platform to servers which are built with GraphQL. We can also say that it is a structure that enables the transfer of information between our client-side projects and GraphQL-servers.

In this article, I will talk about the installation, structure and use of Apollo Angular in Angular projects.

I will explain them, assuming you are familiar with Angular and GraphQL structures and with using Visual Studio Code.

As frontend, I prefer Angular (Angular 11). However, Apollo Angular can be used…


Image for post
Image for post

Apollo Angular, GraphQL ile inşa edilmiş server’ lara client tarafından query göndermeye yarayan bir istemcidir. Frontend projelerimiz ile GraphQL-Server’lar arasında bilgi taşınmasını sağlayan bir yapıdır da diyebiliriz.

Bu yazıda Apollo Angular’ın kurulumu, yapısı ve Angular projelerindeki kullanımından bahsedeceğim.

Anlatımı Visual Studio Code kullanmayı, Angular ve GraphQL yapılarını bildiğinizi varsayarak yapacağım.

Frontend olarak Angular’ı tercih ediyorum. Fakat Apollo Angular diğer Java Script ve native platformlarda da kullanılabilir.

Server olarak ise önceden Node.js’ te oluşturduğum GraphQL-Server’ı kullanacağım. Bu server’ın kurulumu ve işleyişi ile ilgili yazıya bu linkten ulaşabilirsiniz ve isterseniz server’ı proje olarak bu github linkinden indirebilirsiniz.

Öncelikle bir Angular projesi oluşturarak…


Image for post
Image for post

GraphQL is a query language, which Facebook developed. It can be said that it is improved version of REST approach. In this article, i want to talk about how to use it rather than what it is. However, compared to REST, we can say following advantages of GraphQL:

1. In REST queries, you need Endpoints. And as long as these Endpoints elongate, it can be difficult to read. For example:

https://domain.com/api/customers/customerId/products/productId/orders/orderId/

You don’t need such queries at GraphQL.

2. While using the REST queries, many data that you don’t need can come along with the data you call. In this…


Image for post
Image for post

GraphQL, Facebook’un ortaya çıkardığı API lar için bir sorgu dilidir. Aslında REST yaklaşımının geliştirilmiş hali olduğu söylenebilir. Bu yazıda, ne olduğundan daha çok nasıl çalıştığı üzerinde durmak istiyorum. Fakat REST ile kıyaslandığında avantajları adına şunları söyleyebiliriz:

1 - REST sorgularında endpoint lere ihtiyaç vardır. Bu ve endpoint ler uzadıkça okunurluğu azalabilmektedir. Örneğin;

https://domain.com/api/customers/customerId/products/productId/orders/orderId/

GraphQL’de bu tarz queryler e ihtiyaç kalmamaktadır.

2 - REST sorgularında arzu edilen bilgiyle birlikte, gerekli olmayan bir sürü bilgi de ister istemez döndürülmektedir. Bu da serverların iş yükünü artırmaktadır. GraphQL’de lüzumlu olmayan bilgilerin gelmesi engellenebilmektedir.

3 - Nested Query yapmak REST’de birbirini takip eden query ler…

Aziz Kale

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store