Building RESTful Web Services with .NET Core
Gaurav Aroraa Tadit Dash更新时间:2021-06-25 21:23:49
最新章节:Leave a review - let other readers know what you think封面
版权信息
Dedication
Packt Upsell
Why subscribe?
PacktPub.com
Contributors
About the authors
About the reviewer
Packt is searching for authors like you
Preface
Who this book is for
What this book covers
To get the most out of this book
Download the example code files
Download the color images
Conventions used
Get in touch
Reviews
Getting Started
Discussing RESTful services
REST characteristics
Resource-oriented architecture
URI
REST constraints
Client-server architecture
Stateless
Caching
Code on demand (optional)
Uniform interface
More explanation
POST versus PUT explained
Layered system
Advantages and disadvantages of RESTful services
Advantages
Disadvantages
ASP.NET Core and RESTful services
Summary
Building the Initial Framework – Laying the Foundation of the Application
SOAP
SOAP structure
Important points about SOAP
SOAP with HTTP POST
REST
Server and client are independent
Statelessness
Setting up the environment
Running the application
What's cooking here?
Interesting facts
Conclusions
Request and response
HTTP verbs
Postman
GET
Status codes
ASP.NET Core HTTP attributes
POST
PUT
DELETE
SOAP versus REST
Single-page application model
Service-oriented architecture
Summary
User Registration and Administration
Why authentication and limiting requests?
Database design
User registration
Setting up EF with the API
Configuring DbContext
Generating the controller
Calling the API from a page to register the customer
CORS
Adding basic authentication to our REST API
Step 1 – Adding the (authorize) attribute
Step 2 – Designing BasicAuthenticationOptions and BasicAuthenticationHandler
Step 3 – Registering basic authentication at startup
Adding OAuth 2.0 authentication to our service
Step 1 – Designing the Config class
Step 2 – Registering Config at startup
Step 3 – Adding the [Authorize] attribute
Step 4 – Getting the token
Step 5 – Calling the API with the access token
Step 6 – Adding the ProfileService class
Client-based API-consumption architecture
Summary
Item Catalogue Cart and Checkout
Implementing controllers
Generating models
Generating controllers
Product listing
Product searching
Adding to cart
Implementing security
Client-side AddToCart function
API calls for AddToCart
POST – api/Carts
PUT – api/Carts/{id}
DELETE – api/Carts/{id}
Placing orders
UI design for placing an order
The client-side PostOrder function
Building order objects to match the model class Orders.cs
Pushing cart items into an order object as an array
Calling POST /api/Orders
PostOrders API POST method
Exposing shipping details
Summary
Integrating External Components and Handling
Understanding the middleware
Requesting delegates
Use
Run
Map
Adding logging to our API in middleware
Intercepting HTTP requests and responses by building our own middleware
JSON-RPC for RPC communication
Request object
Response object
Summary
Testing RESTful Web Services
Test paradigms
Test coverage and code coverage
Tasks scenarios and use cases
Checklist
Bugs and defects
Testing approach
Test pyramid
Types of tests
Testing the ASP.NET Core controller (unit testing)
Getting ready for the tests
Writing unit tests
Stubs and mocking
Security testing
Integration testing
Run tests
Fake objects
Run tests
Testing service calls using Postman Advanced REST Client and more
Postman
Advanced Rest Client
User acceptance testing
Performance or load testing
Run tests
Summary
Continuous Integration and Continuous Deployment
Introduction – deployment terminology
The build stage
Continuous integration
Deployment
Continuous deployment
Continuous delivery
Build and deployment pipeline
Release
Prerequisites for successful RESTful services deployments
The Azure environment
Cloud computing
The benefits of the cloud
Cloud-computing service models
Discussing the Azure environment
Starting with Azure
Publishing/hosting
Project hosting
The dashboard
Code
Work
Adding code to the repository
Test
Creating a test plan
Creating test cases
Running manual tests
Wiki
Build and Release tab
CI versus CD
CI and CD using TFS online
Initiating the CD release process
Summary
Securing RESTful Web Services
OWASP security standards
Securing RESTful web services
The vulnerable areas of an unsecured web application
Cross-site scripting attacks
SQL injection attacks
What is cooking here?
Fixing SQL injection attacks
Cross-site request forgery
Authentication and authorization in action
Basic authentication token-based authorization and other authentications
Basic authentication
The security concerns of basic authentication
Token-based authorization
Other authentication methods
Securing services using annotations
Validations
Securing context
Data encryption and storing sensitive data
Sensitive data
Summary
Scaling RESTful Services (Performance of Web Services)
Clustering
Load balancing
How does it work?
Introduction to scalability
Scaling in (vertical scaling)
Scaling out (horizontal scaling)
Linear scalability
Distributed caching
Caching persisted data (data-tier caching)
First-level caching
Second-level caching
Application caching
CacheCow
Memcached
Azure Redis Cache
Communication (asynchronous)
Summary
Building a Web Client (Consuming Web Services)
Consuming RESTful web services
Building a REST web client
Cooking the web client
Writing code
Implementing a REST web client
Summary
Introduction to Microservices
Overview of microservices
Microservice attributes
Understanding microservice architecture
Communication in microservices
Synchronous messaging
Asynchronous messaging
Message formats
Why we should use microservices
How a microservice architecture works
Advantages of microservices
Prerequisites of a microservice architecture
Scaling
Vertical scaling
Horizontal scaling
DevOps culture
Automation
Testing
Deployment
Microservices ecosystem in ASP.NET Core
Azure Service Fabric – microservice platform
Stateless and Stateful services – a service programming model
Communication – a way to exchange data between services
Summary
Other Books You May Enjoy
Leave a review - let other readers know what you think
更新时间:2021-06-25 21:23:49