ASP.NET REST Services SoftUni Team ASP.NET REST Services

Slides:



Advertisements
Similar presentations
Creating Web Services with C#
Advertisements

AngularJS Routing Routes, Route Parameters, Templates, Location, Navigation SoftUni Team Technical Trainers Software University
Project Tracking Tools Trello, Asana, Basecamp, GitHub Issue Tracker, TRAC SoftUni Team Technical Trainers Software University
Software Testing Lifecycle Exit Criteria Evaluation, Continuous Integration Ivan Yonkov Technical Trainer Software University.
Asynchronous Web Services Writing Asynchronous Web Services SoftUni Team Technical Trainers Software University
Sessions and Cookies State Management, Cookies, Sessions, Hidden Fields SoftUni Team Technical Trainers Software University
Forms Overview, Query string, Submitting arrays, PHP & HTML, Input types, Redirecting the user Mario Peshev Technical Trainer Software.
ASP.NET Identity System
Sets, Dictionaries SoftUni Team Technical Trainers Software University
Doctrine The PHP ORM SoftUni Team Technical Trainers Software University
Web Storage and Cookies Cookies, Local and Session Storage SoftUni Team Technical Trainers Software University
Stacks and Queues Processing Sequences of Elements SoftUni Team Technical Trainers Software University
Version Control Systems
Magento Basics Getting started developing for Magento
Auto Mapping Objects SoftUni Team Database Applications
Databases basics Course Introduction SoftUni Team Databases basics
Services & Dependency Injection
C# MVC Frameworks – ASP.NET
Web API - Introduction AJAX, Spring Data REST SoftUni Team Web API
Introduction to MVC SoftUni Team Introduction to MVC
Deploying Web Application
PHP MVC Frameworks Course Introduction SoftUni Team Technical Trainers
PHP Fundamentals Course Introduction SoftUni Team Technical Trainers
Build a WordPress Site A Real Life Example: Create a Fully Functional WP Business Web Site from Scratch Building a WP Site SoftUni Team Technical Trainers.
Introduction to Entity Framework
Application Architecture, Redux
ASP.NET Integration Testing
ASP.NET Unit Testing Unit Testing Web API SoftUni Team ASP.NET
Classes, Properties, Constructors, Objects, Namespaces
Mocking tools for easier unit testing
Parsing JSON JSON.NET, LINQ-to-JSON
JavaScript Applications
State Management Cookies, Sessions SoftUni Team State Management
EF Code First (Advanced)
PHP MVC Frameworks MVC Fundamentals SoftUni Team Technical Trainers
C# Databases Advanced with Microsoft SQL Server
EF Relations Object Composition
Entity Framework: Code First
Parsing XML XDocument and LINQ
Registration, Login, Thymeleaf
MVC Architecture. Routing
Install and configure theme
Balancing Binary Search Trees, Rotations
Entity Framework: Relations
Caching Data in ASP.NET MVC
The Right Way Control Flow
ASP.NET Razor Engine SoftUni Team ASP.NET MVC Introduction
AJAX and jQuery AJAX AJAX Concepts, XMLHttpRequest, jQuery AJAX: $.ajax(), $.get(), $.post() jQuery AJAX XMLHttpRequest SoftUni Team Technical Trainers.
ASP.NET MVC Introduction
C# Advanced Course Introduction SoftUni Team C# Technical Trainers
Databases Advanced Course Introduction SoftUni Team Databases Advanced
Best Practices and Architecture
Best practices and architecture
Multidimensional Arrays, Sets, Dictionaries
Extending functionality using Collections
Exporting and Importing Data
ASP.NET Filters SoftUni Team ASP.NET MVC Introduction
Making big SPA applications
Manual Mapping and AutoMapper Library
ASP.NET Razor Engine SoftUni Team ASP.NET MVC Introduction
C# Advanced Course Introduction SoftUni Team C# Technical Trainers
Introduction to TypeScript & Angular
CSS Transitions and Animations
Train the Trainers Course
Software Quality Assurance
Version Control Systems
JavaScript Frameworks & AngularJS
Lean .NET stack for building modern web apps
JavaScript: ExpressJS Overview
CSS Transitions and Animations
Presentation transcript:

ASP.NET REST Services SoftUni Team ASP.NET REST Services Technical Trainers Software University http://softuni.bg © Software University Foundation – http://softuni.org This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike license.

Table of Contents Web API Documentation ASP.NET Identity API © Software University Foundation – http://softuni.org This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike license.

Have a Question? sli.do #CSharpWeb

XML XML XML Web API Documentation

Web API Documentation An API is only as good as its documentation. Easily generated with HelpPage package By default accessible on <host>/Help Documentation An API is only as good as its documentation. The docs should be easy to find and publically accessible. Most developers will check out the docs before attempting any integration effort. When the docs are hidden inside a PDF file or require signing in, they're not only difficult to find but also not easy to search. The docs should show examples of complete request/response cycles. Preferably, the requests should be pastable examples - either links that can be pasted into a browser or curl examples that can be pasted into a terminal. GitHub and Stripe do a great job with this. Once you release a public API, you've committed to not breaking things without notice. The documentation must include any deprecation schedules and details surrounding externally visible API updates. Updates should be delivered via a blog (i.e. a changelog) or a mailing list (preferably both!). http://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api © Software University Foundation – http://softuni.org This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike license.

Documentation – Steps (1) Annotate the controller or action that you want to make documentation for. //<summary>Sample controller documentation</summary> public class ValuesController : ApiController { //<summary>Sample GET method returning collection </summary> //<returns>Several sample values</returns> public IEnumerable<string> Get() return new string[] { "value1", "value2" }; }

Documentation – Steps (2) Open the properties of you web project and open the Build tab

Documentation – Steps (3) Open the HelpPageConfig in the Areas --> HelpPage --> App_Start an uncomment the first line

Documentation – Steps (4) Open the help page in your web application

Setup, Registration, Login, Logout ASP.NET Identity API Setup, Registration, Login, Logout

ASP.NET Identity Authentication and authorization system for ASP.NET Web apps Supports ASP.NET MVC, Web API, Web Forms, SignalR, Web Pages Handles users, user profiles, login / logout, roles, etc. Based on the OWIN middleware (can run outside of IIS) Automatically integrated when the Individual User Accounts option is selected on Web API project creation

Identity Authentication (Login) POST localhost:55602/Token Username motikarq@gmail.com Password 1234567 grant_type password localhost:55602 200 OK access_token 22k_HP6fSFwsQ88L3_JQh9nnx3… token_type bearer expires_in 1209599 userName jamal@hussein.com .expires Thu, 27 Aug 2015 12:42:38 GMT Sent in future requests' headers for authentication

Request Authentication Access token should be put in request headers

ASP.NET Authorization Use the [Authorize] and [AllowAnonymous] attributes to configure authorized / anonymous access for controller / action [Authorize] public class AccountController : ApiController { // GET: /account/login (annonymous) [AllowAnonymous] public IHttpActionResult Login(LoginBindingModel model) { … } // POST: /account/logout (for logged-in users only) [HttpPost] public IHttpActionResult Logout() { … } }

Check the Currently Logged-In User // GET: /users/gosho (for logged-in users only) [Authorize] public IHttpActionResult GetUserInfo() { string currentUserId = this.User.Identity.GetUserId(); if (currentUserId == null) return this.Unauthorized("Access denied"); } ...

Postman Authentication

Postman Authentication (2)

Postman Authentication (3)

Postman Authentication (4)

ASP.NET Web API Introduction https://softuni.bg/courses/ © Software University Foundation – http://softuni.org This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike license.

License This course (slides, examples, demos, videos, homework, etc.) is licensed under the "Creative Commons Attribution- NonCommercial-ShareAlike 4.0 International" license Attribution: this work may contain portions from "Web Services and Cloud" course by Telerik Academy under CC-BY-NC-SA license © Software University Foundation – http://softuni.org This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike license.

Free Trainings @ Software University Software University Foundation – softuni.org Software University – High-Quality Education, Profession and Job for Software Developers softuni.bg Software University @ Facebook facebook.com/SoftwareUniversity Software University @ YouTube youtube.com/SoftwareUniversity Software University Forums – forum.softuni.bg © Software University Foundation – http://softuni.org This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike license.