Showing posts with label API. Show all posts
Showing posts with label API. Show all posts

2015-11-23

AwesomeAPI

Awesome API Awesome

A curated list of awesome resources for design and implement RESTful APIs.

Design

Overview

REST allows us to create services and applications that can be used by any device or client who understands HTTP.

Status Code

When you are using a REST design you have to provide the HTTP status code that are the more appropriated to respond to the request.

Authentication

JWT

JSON Web Token (JWT) is a compact, URL-safe means of representing claims to be transferred between two parties.

Authorization

OAuth

An open protocol to allow secure authorization in a simple and standard method from web, mobile and desktop applications

Format

  • JSON API - Standard for building APIs in JSON.
  • RAML - Simple and succinct way to describe RESTful API.
  • JSend - Simple specification that lays down some rules for how JSON responses from web servers should be formatted.
  • OData - Open protocol to allow the creation and consumption of queryable and interoperable RESTful APIs. Quite complex.
  • HAL - Simple format that gives a consistent and easy way to hyperlink between resources in your API (see: HATEOAS).
  • JSON-LD - Standard for describing Linked Data and hypermedia relations in JSON (W3C).
  • Hydra - Vocabulary for Hypermedia-Driven Web APIs (W3C).
  • Schema.org - Collection of schemas describing common data models.

Discover

Need a API for your project? Check in this sites.

Testing

Querying

  • httpie - Command line HTTP client, far more dev-friendly than curl.
  • Postman REST Client - Chrome extension essential to test manually REST API.
  • resty - Little command line REST client that you can use in pipelines (bash or zsh).
  • jq - Command line JSON processor, to use in combination with a command-line HTTP client like cURL.
  • HttpMaster - GUI tool for testing REST APIs and services. Windows OS only.

Mocking

  • FakeRest - Patch XMLHttpRequest to fake a REST API client-side.
  • json-server - Serve a REST API from fixture files using quick prototyping.
  • Mocky.io - Free online service to create fake HTTP responses.
  • Swagger API Mock - Mock RESTful API based on swagger schema

Public REST APIs To Use In Tests

Documentation

One of the most important part of your API is have a good documentation and updated with the code.

Free

Services

Logging

Modeling and SaaS

Based in DDD (Domain Driven Development). Generates automatically API's in different languages.

Libraries

Used it for improve your workflow

Frameworks

Designed specify for build quickly RESTful API's.

Gateways

Manage API infrastructure concerns such as authentication/authorization, rate limiting, scaling, analytics, etc.

Open Source / Self-hosted


REFERENCE: https://github.com/Kikobeats/awesome-api

2013-01-11

Microsoft Research Sho Library

Requirements

The dependencies are
Dependencies (Sho 2.0 for IronPython 2.6): .NET 4.0 or higher.
Dependencies (Sho 2.1 for IronPython 2.7): .NET 4.0 or higher, IronPython 2.7

Environment Variables Sho 2.0 for .NET 4

SHODIR=C:\Program Files (x86)\Sho 2.0 for .NET 4
SHOBINDIR=C:\Program Files (x86)\Sho 2.0 for .NET 4\bin

Environment Variables Sho 2.1 for .NET 4 & IronPython 2.7.4

SHODIR=C:\Program Files (x86)\Sho 2.1\
SHOBINDIR=C:\Program Files (x86)\Sho 2.1\bin

Documentation

The documentation is here.

API

The API is here.

External API

The external API is here.

Packages

Learn about the packages in here.

Packages Reference

Learn about the packages'reference here.

Blog

Laern about new developments in here.

 




2013-01-08

Portable Library NET

Schema for portable library with multiple targets

What is inportant for multi platform
Feature.NET FrameworkWindows Store AppsSilverlightWindows PhoneXamarin
CoreYYYYY
LINQYYYYY
IQueryableYYY7.5 +Y
SerializationYYYYY
Data Annotations4.0.3 +YY
Y

Try to use it wisely

The following table shows which features are supported on the available platforms and versions. In some cases, Microsoft has added support with the release of a NuGet package, and this has been noted. For more information about NuGet packages for the .NET Framework, see The .NET Framework and Out-of-Band Releases.
Feature
.NET Framework
Windows Store
Windows Phone Store
Windows Phone Silverlight
Silverlight
Xbox 360
4
4.0.3
4.5
8
8.1
8.1
7.5
8
8.1
4
5
Core libraries
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
Async support
➊
➊
✓
✓
✓
✓
➊
➊
✓
➊
➊

Compression


✓
✓
✓
✓

➋
➋



Data annotations

✓
✓
✓
✓




✓
✓

Dynamic keyword
✓
✓
✓
✓
✓




✓
✓

HTTPClient
➌
➌
✓
✓
✓
✓
➌
➌
➌
➌
➌

IQueryable
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓

Language-Integrated Query (LINQ)
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓

Managed Extensibility Network (MEF)
✓
✓
✓
✓
✓




✓
✓

Network Class Library (NCL)
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓

Serialization (data contract, XML, and JSON)
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓

System.Numerics
✓
✓
✓
✓
✓




✓
✓

View models (MVVM)


✓
✓
✓
✓
✓
✓
✓
✓
✓

Windows Communication Foundation (WCF)
✓
✓
✓
✓
✓

✓
✓
✓
✓
✓

Windows Runtime APIs




✓
✓






Windows.UI.XAML




✓
✓






XLINQ

✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
➊ Requires Microsoft Async package
➋ Requires Microsoft Compression package
➌ Requires Microsoft HTTP Client Libraries package

2009-09-14

Setting Perforce API

Installing P4C/C++ API
Check the P4C/C++ API notes.
Check the P4C/C++ API documentation.
&] sudo cp ~/Downloads/p4api.tgz /opt ; cd /opt
&] sudo tar -zxf p4api.tgz
&] sudo ln -s p4api-2009.1.205670 p4api
&] sudo chmod -R +x *4*

Installing P4Perl API
Check the P4Perl API notes.
Check the P4Perl API documentation.
&] sudo cp ~/Downloads/p4perl.tgz /opt ; cd /opt
&] sudo tar -zxf p4perl.tgz
&] sudo ln -s p4perl-2009.1.GA p4perl
&] sudo chmod -R +x *4* ; cd p4perl
&] perl -MP4 -e "print P4::Identify()"
&] sudo perl Makefile.PL --apidir /opt/p4api
&] sudo make # in xp nmake
&] sudo make test # in xp namke test
&] sudo make install # in xp nmake install
&] perl -MP4 -e "print P4::Identify()"

Installing P4Ruby API
Check the P4Ruby API notes.
Check the P4Ruby API documentation.
&] sudo cp ~/Downloads/p4ruby.tgz /opt ; cd /opt
&] sudo tar -zxf p4ruby.tgz
&] sudo ln -s p4ruby-2009.1 p4ruby
&] sudo chmod -R +x *4*
&] cd p4ruby
&] ruby -rP4 -e "puts P4.identify"
&] sudo ruby p4conf.rb --apidir /opt/p4api
&] sudo make # in xp nmake
&] sudo ruby test.rb
&] sudo make install # in xp nmake install
&] ruby -rP4 -e "puts P4.identify"

Installing P4Python API
Check the P4Python API notes.
Check the P4Python API documentation.
&] sudo cp ~/Downloads/p4python.tgz /opt ; cd /opt
&] sudo tar -zxf p4python.tgz
&] sudo ln -s P4Python-2009.1 p4python
&] sudo chmod -R +x *4*
&] cd p4python
# update P4API in setup.cfg as: p4_api=/opt/p4api
&] python
>>> import P4
>>> print P4.P4.identify()
&] sudo python setup.py build
&] sudo python p4test.py
&] sudo python setup.py install
&] python
>>> import P4
>>> print P4.P4.identify()

Installing P4PHP
Check the P4PHP API notes.
Check the P4PHP API documentation.
&] sudo cp ~/Downloads/p4php.tgz /opt ; cd /opt
&] sudo tar -zxf p4php.tgz
&] sudo ln -s p4php-2009.1 p4php
&] sudo chmod -R +x *4*

Installing P4Java API
Check the P4Java API notes.
Check the P4Java API documentation.
&] sudo cp ~/Downloads/p4java.zip /opt ; cd /opt
&] sudo mkdir p4java/ ; sudo mv p4java.zip p4java/ ; cd p4java
&] sudo unzip p4api.zip
&] sudo ln -s p4java_2009.1.211156.jar p4java.jar
Then add /opt/p4java to your CLASSPATH

Installing P4WSAD
Check the P4WSAD API notes.
Check the P4WSAD API documentation.
&] sudo cp ~/Downloads/p4wsad.zip /opt ; cd /opt
&] sudo mkdir p4wsad/ ; sudo mv p4wsad.zip p4wsad/ ; cd p4wsad
&] sudo unzip p4wsad.zip

Installing P4Objective-C API
Check the P4ObjC API notes.
Check the P4ObjC API documentation.
&] sudo cp ~/Downloads/p4objc.tgz /opt ; cd /opt
&] sudo tar -zxf p4objc.tgz
&] sudo ln -s p4objc-2009.1.205670 p4objc
&] cd p4objc/doc ; sudo doxygen
&] cd /opt/p4objc

Installing P4COM Windows C++ API
Check the P4COM Windows C++ notes.
Check the P4COM Windows C++ documentation.

HTMLCode

HTMLCode Content