舉報

會員
Hands-On RESTful Web Services with TypeScript 3
Intheworldofwebdevelopment,leveragingdataisthekeytodevelopingcomprehensiveapplications,andRESTfulAPIshelpyoutoachievethissystematically.ThisbookwillguideyouindesigninganddevelopingwebserviceswiththepowerofTypeScript3andNode.js.You'lldesignRESTAPIsusingbestpracticesforrequesthandling,validation,authentication,andauthorization.You'llalsounderstandhowtoenhancethecapabilitiesofyourAPIswithODMs,databases,modelsandviews,aswellasasynchronouscallbacks.Thisbookwillguideyouinsecuringyourenvironmentbytestingyourservicesandinitiatingtestautomationwithdifferenttestingapproaches.Furthermore,you'llgettogripswithdevelopingsecure,testable,andmoreefficientcode,andbeabletoscaleanddeployTypeScript3andNode.js-poweredRESTfulAPIsoncloudplatformssuchastheGoogleCloudPlatform.Finally,thebookwillhelpyouexploremicroservicesandgiveyouanoverviewofwhatGraphQLcanallowyoutodo.Bytheendofthisbook,youwillbeabletouseRESTfulwebservicestocreateyourAPIsformobileandwebappsandotherplatforms.
目錄(233章)
倒序
- coverpage
- Title Page
- Copyright and Credits
- Hands-On RESTful Web Services with TypeScript 3
- Dedication
- About Packt
- Why subscribe?
- Packt.com
- Foreword
- Contributors
- About the author
- 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
- Section 1: Unraveling API Design
- Introduction to RESTful API Development
- Technical requirements
- What is REST?
- REST architectural styles
- Uniform interface
- Resource-based
- The manipulation of resources using representations
- Self-descriptive messages
- HATEOAS
- Stateless
- Cacheable
- Client-server architecture
- A layered system
- Code on demand
- HTTP methods for RESTful services
- Summary
- Questions
- Further reading
- Principles of Designing RESTful APIs
- Technical requirements
- Organizing API endpoints
- Resource-based APIs
- Experience-based APIs
- Capability-based APIs
- Working with large datasets
- Pagination
- Sorting
- Filtering
- Naming conventions
- Versioning
- Including the version in the URL
- Versioning in the subdomain
- Versioning on media types
- Recommendation
- HTTP status codes
- 2xx – success
- 3xx – redirection
- 4xx – client error
- 5xx – server error
- Summary
- Questions
- Further reading
- Designing RESTful APIs with OpenAPI and Swagger
- Technical requirements
- API-first concepts
- The OpenAPI Specification
- Format
- Document structure
- Data types
- Design maturity and implementation
- Level 0 – The Swamp of POX
- Level 1 – Resources
- Level 2 – HTTP Verbs
- Level 3 – Hypermedia Controls
- Swagger tooling
- Swagger Editor
- Swagger Codegen
- The Swagger UI
- Summary
- Questions
- Further reading
- Section 2: Developing RESTful Web Services
- Setting Up Your Development Environment
- Technical requirements
- Installing various web servers
- Node.js
- npm
- Testing Node.js and npm
- Express.js
- Express installation
- First app with Express.js
- TypeScript installation
- Visual Studio Code
- Code Linters
- TSLint
- Prettier
- Testing suites
- Mocha and Chai
- Stryker
- Debugging
- Building tasks for coding
- Summary
- Questions
- Further reading
- Building Your First API
- Technical requirements
- Serving the app
- Initial configurations and file structure
- Defining and controlling basic routes
- Testing with Postman
- Summary
- Questions
- Further reading
- Handling Requests and Responses
- Technical requirements
- Creating resource URIs
- Creating models
- Creating tests for the missing routes
- Implementing controllers
- Configuring the remaining routes
- Running the application
- Query strings data filtering and pagination
- Query strings and data filtering
- Pagination
- Summary
- Questions
- Further reading
- Formatting the API - Output
- Technical requirements
- Content negotiation
- Data serialization
- Hypertext Application Language
- Summary
- Questions
- Further reading
- Section 3: Enhancing RESTful Web Services
- Working with Databases and ODMs
- Technical requirements
- Using MongoDB
- Installing MongoDB
- MongoDB with Docker
- Installing Docker
- Running MongoDB on Docker
- Robomongo
- Setting up order-api with Mongo
- Configuring Mongoose
- Creating the schemas
- Changing tests
- Changing the controllers
- Manual testing
- Summary
- Questions
- Further reading
- Securing Your API
- Technical requirements
- Security overview
- Using HTTPS over HTTP
- Improving API security
- Using bcrypt to encrypt a password
- Adding authentication
- Email validation
- Manual testing
- Summary
- Questions
- Further reading
- Error Handling and Logging
- Technical requirements
- Error handling
- Writing custom error handlers
- Adding an error handler to order-api
- Error messages
- Logging
- Summary
- Questions
- Further reading
- Creating a CI/CD Pipeline for Your API
- Technical requirements
- Continuous Integration
- Adding the code to GitHub
- Continuous Integration with Travis CI
- Adding tests to the pipeline
- Continuous Deployment
- Manual deployment to GCP
- Configuring mLab
- Automatic deployment to GCP
- Scalability
- Summary
- Questions
- Further reading
- Section 4: Extending the Capabilities of RESTful Web Services
- Developing RESTful APIs with Microservices
- Technical requirements
- What are microservices?
- Breaking down order-api
- Creating the databases
- Creating the projects on GitHub
- GCP projects
- Swagger implementation
- Create the skeleton for both microservices
- The order-ms code
- The user-ms code
- Summary
- Questions
- Further reading
- Flexible APIs with GraphQL
- Technical requirements
- Introduction to GraphQL
- Configuring GraphQL with the order-ms service
- Improving order-ms with order data
- Connecting with MongoDB
- Creating a client with Vue.js
- Summary
- Questions
- Further reading
- Assessments
- Chapter 1
- Chapter 2
- Chapter 3
- Chapter 4
- Chapter 5
- Chapter 6
- Chapter 7
- Chapter 8
- Chapter 9
- Chapter 10
- Chapter 11
- Chapter 12
- Chapter 13
- Other Books You May Enjoy
- Leave a review - let other readers know what you think 更新時間:2021-07-02 12:20:01
推薦閱讀
- 同仁眼整形眼眶病診療手冊
- 眼科急癥工作實用手冊
- 中國神經介入發展史
- 顧嘉雄 張良圣醫案精華
- 腫瘤內科醫師查房手冊(第2版)
- 牛津通識讀本:自閉癥(中文版)
- 梅毒實驗室診斷技術與質量控制
- 不可逆電穿孔消融技術的應用原理與實踐
- 結核病影像學
- 腫瘤防治科普叢書:腦部腫瘤
- 胎兒磁共振影像診斷學
- BTK抑制劑與淋巴瘤診療病例分析
- 普胸外科手術精解
- 肺癌防治一本通
- 視神經疾病中西醫結合診治(第2版)
- 實用癱瘓康復(第3版)
- 做·看·聽·說:孤獨癥兒童社會性和溝通能力干預指南
- 干燥綜合征
- 精子能量學:代謝與治療
- 同仁鼻咽喉影像學
- 中華影像醫學·肝膽胰脾卷(第3版)
- 居家老人照護者手冊
- 神經系統疾病診治絕招
- 皮膚性病學護理工作手冊
- 卒中中心手冊
- 躁郁之心:我與躁郁癥共處的30年(經典版)(下)
- 中西醫結合治療結締組織疾病
- Python Parallel Programming Cookbook(Second Edition)
- 進食障礙
- 兒童睡眠障礙規范診療實戰教程