舉報(bào)

會員
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
- 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 更新時(shí)間:2021-07-02 12:20:01
推薦閱讀
- Learning Ansible 2.7(Third Edition)
- 腫瘤免疫治療嚴(yán)重不良反應(yīng)案例分析
- 郎景和院士“關(guān)愛女性健康”系列:婦科腫瘤的故事
- 失眠認(rèn)知行為治療規(guī)范化培訓(xùn)教程
- 口腔科常見及多發(fā)病就醫(yī)指南系列:口腔黏膜病就醫(yī)指南
- 眼科手術(shù)器械清洗消毒滅菌技術(shù)操作規(guī)程
- 老年病藥物治療學(xué)
- 虛構(gòu)的孤獨(dú)者:孤獨(dú)癥其人其事
- 臨床神經(jīng)認(rèn)知及社會功能評估手冊
- 實(shí)用皮膚病性病圖譜
- 復(fù)旦大學(xué)附屬華山醫(yī)院垂體疑難病多學(xué)科診治病例精選
- 我抑郁了嗎:抑郁者自救指南
- 化妝品生產(chǎn)質(zhì)量管理規(guī)范240問
- 同仁間接檢眼鏡臨床應(yīng)用手冊(同仁眼科手冊系列)
- 走出抑郁與焦慮:中西醫(yī)視角下的心身同治
- 毛德西方藥心悟
- 實(shí)用透析手冊(第3版)
- 同仁眼科疑難病例精析:同仁眼科臨床病例討論會1
- 家庭護(hù)理指導(dǎo):腫瘤病人家庭護(hù)理
- 循環(huán)系統(tǒng)疾病的檢驗(yàn)診斷(第2版)
- 臨床雙眼視覺學(xué)
- 中西醫(yī)結(jié)合眼科學(xué)
- 實(shí)用精神科疾病診療與護(hù)理實(shí)踐
- 肺癌免疫治療新進(jìn)展
- 神經(jīng)系統(tǒng)疾病診治絕招
- 臨證傳心與診余靜思:從張仲景到李東垣
- 明明白白配眼鏡(第二版)
- 中西醫(yī)結(jié)合治療股骨頭壞死
- 阿斯伯格綜合征完全指南
- 家庭護(hù)理指導(dǎo):家庭保健與急救