Skip to content

filipw/apress-recipes-webapi

Repository files navigation

ASP.NET Web API 2: Recipes

Samples from ASP.NET Web API 2: Recipes book.

Cover

Chapter 1: Web API in ASP.NET

  • 1-1 Add ASP.NET Web API to an MVC Application
  • 1-2 Add ASP.NET Web API to a Web Forms Application
  • 1-3 Accept an HTML Form
  • 1-4 Link from MVC Controller to API Controller and Vice Versa
  • 1-5 Use Scaffolding with ASP.NET Web API
  • 1-6 Add Model Validation
  • 1-7 Use CSRF Protection
  • 1-8 Add Support for Session State

Chapter 2: Web API outside of IIS

  • 2-1 Self-Host ASP.NET Web API
  • 2-2 Host ASP.NET Web API with OWIN
  • 2-3 Host ASP.NET Web API in Azure Mobile Services
  • 2-4 Quick Prototypes with scriptcs
  • 2-5 Host ASP.NET Web API in Azure Worker Role
  • 2-6 Use ASP.NET Web API with F#

Chapter 3: Routing

  • 3-1 Define Centralized Routes
  • 3-2 Define Direct Routes
  • 3-3 Set Default Route Values
  • 3-4 Set Optional Route Values
  • 3-5 Set Route Constraints
  • 3-6 Define RPC Style Routes
  • 3-7 Create Catch-all Routes
  • 3-8 Prevent Controller Methods from Inadvertently Becoming Web API Endpoints
  • 3-9 Configure Route-Specific Message Handlers
  • 3-10 Ignore Roues
  • 3-11 Localize routes
  • 3-12 Generate a Link to the Route

Chapter 4: Content Negotiation and Media Types

  • 4-1 Request a Specific Media Type from ASP.NET Web API
  • 4-2 Supporting Additional Media Types
  • 4-3 Control Model Binding From URI and Body
  • 4-4 ASP.NET MVC-style Parameter Bindingin ASP.NET Web API
  • 4-5 Customize XML and JSON Responses
  • 4-6 Write Your Own MediaTypeFormatter
  • 4-7 Run Content Negotiation Manually
  • 4-8 Bypass Content Negotiation
  • 4-9 Control Media Types with MediaTypeMappings
  • 4-10 Serve Binary Data from Web API
  • 4-11 Accept File Uploads
  • 4-12 Enable Bufferless Uploads
  • 4-13 Validate File Uploads

Chapter 5: Configuration and Customization

  • 5-1 Throttle ASP.NET Web API Calls
  • 5-2 Use Controllers from an External Assembly
  • 5-3 Use Controller-Scoped Configuration
  • 5-4 Validate Input with Action Filters
  • 5-5 OVerride Filters
  • 5-6 Add Caching to ASP.NET Web API
  • 5-7 Use an Existing Caching Library
  • 5-8 Order Filter Execution with Custom Filters
  • 5-9 Order Filter Execution Without Custom Filters
  • 5-10 Customize Error Detail Policy
  • 5-11 Return HTML from Web API
  • 5-12 Store Objects for the Duration of HTTP Request

Chapter 6: Embrace HTTP with Web API

  • 6-1 Work Directly with HttpRequestMessage
  • 6-2 Support Partial GET
  • 6-3 Support the HEAD Verb
  • 6-4 Support the PATCH Verb
  • 6-5 Support Batching of HTTP Requests
  • 6-6 Automatic HTTP 406/Not Acceptable Server Responses
  • 6-7 Implement Versioning of a Web API with Centralized Routes
  • 6-8 Implement Versioning of a Web API with Attribute Routing
  • 6-9 Use Custom HTTP Content

Chapter 7: Exceptions, Troubleshooting and Documenting

  • 7-1. Handle Exceptions with Filters
  • 7-2. Handle Exceptions Globally
  • 7-3. Log Exceptions Globally
  • 7-4. Add a Tracer
  • 7-5. Use an External Tracer
  • 7-6. Call the Tracer Manually
  • 7-7. Write a Real-time Tracer
  • 7-8. Create a Documentation Page for ASP.NET Web API
  • 7-9. Add Custom Samples to ASP.NET Web API Help Page
  • 7-10. Add Filters Information to ASP.NET Web API Help Page
  • 7-11. Support Data Annotations in ASP.NET Web API Help Page

Chapter 8: Cross Domain and Push Communictation

  • 8-1 Use JSONP in ASP.NET Web API
  • 8-2 Use CORS in ASP.NET Web API
  • 8-3 Create Custom CORS Policies
  • 8-4 Support Streaming and Push from ASP.NET Web API
  • 8-5 Support Server-Sent Events in ASP.NET Web API
  • 8-6 Integrate ASP.NET SignalR into ASP.NET Web API controllers
  • 8-7 Use WebSockets with ASP.NET Web API

Chapter 9: Dependency Injection

  • 9-1. Inject Dependencies into ASP.NET Web API Controllers
  • 9-2. Add Support for Most Popular DI Containers
  • 9-3. Deal with Request Scope
  • 9-4. DI with Other Web API Components
  • 9-5. Write a Custom DI Adapter (TinyIoC)

Chapter 10: Securing an ASP.NET Web API Service

  • 10-1 Use Correct Web API Components for Security-Related Tasks
  • 10-2 Add HTTPS Support to ASP.NET Web API
  • 10-3 Use Basic Authentication
  • 10-4 Integrate Windows Authentication
  • 10-5 Use the Hawk Authentication Scheme
  • 10-6 Use OAuth 2.0 with ASP.NET Web API (basic embedded authorization server)
  • 10-7 Safely Access Current IPrincipal
  • 10-8 Remove ASP.NET Web API Server Footprint

Chapter 11: Testing Web API Services

  • 11-1 Unit Test ASP.NET Web API Controllers
  • 11-2 Unit Test Message Handlers
  • 11-3 Unit Test Action Filters
  • 11-4 Unit Test Formatters
  • 11-5 Simplify Tests with IHttpActionResult
  • 11-6 Test Routes
  • 11-7 Integration Testing
  • 11-8 Integration Testing with OWIN

Chapter 12: OData (v4)

  • 12-1 Creating OData Services in Web API
  • 12-2 Manage OData Routes
  • 12-3 Enable OData Queries
  • 12-4 Support OData Functions and Actions