1. Урок 1. 00:01:55
    Course Overview
  2. Урок 2. 00:01:40
    Introducing REST. Coming Up
  3. Урок 3. 00:00:54
    Course Prerequisites
  4. Урок 4. 00:02:48
    Tooling
  5. Урок 5. 00:04:46
    Introducing REST
  6. Урок 6. 00:09:12
    Learning What the REST Constraints Are About
  7. Урок 7. 00:04:27
    The Richardson Maturity Model
  8. Урок 8. 00:04:23
    Positioning ASP.NET Core for Building RESTful APIs
  9. Урок 9. 00:05:16
    Demo - Inspecting the Starter Solution
  10. Урок 10. 00:03:03
    Introducing REST. Summary
  11. Урок 11. 00:01:12
    Getting Resources. Coming Up
  12. Урок 12. 00:07:55
    Structuring Our Outer Facing Contract
  13. Урок 13. 00:02:43
    Demo - Implementing the Outer Facing Contract (Part 1)
  14. Урок 14. 00:01:42
    Working with Routing
  15. Урок 15. 00:03:20
    Interacting with Resources Through HTTP Methods
  16. Урок 16. 00:02:51
    Demo - Implementing the Outer Facing Contract (Part 2)
  17. Урок 17. 00:01:55
    Outer Facing Model vs. Entity Model
  18. Урок 18. 00:04:44
    Demo - Getting a Resource Collection
  19. Урок 19. 00:04:15
    Demo - Introducing AutoMapper
  20. Урок 20. 00:02:47
    Demo - Getting a Single Resource
  21. Урок 21. 00:05:28
    The Importance of Status Codes
  22. Урок 22. 00:02:51
    Demo - Returning Correct Status Codes
  23. Урок 23. 00:06:25
    Demo - Handling Faults
  24. Урок 24. 00:09:45
    Demo - Working with Parent Child Relationships
  25. Урок 25. 00:04:08
    Formatters and Content Negotiation
  26. Урок 26. 00:05:38
    Demo - Working with Content Negotiation and Output Formatters
  27. Урок 27. 00:02:54
    Getting Resources. Summary
  28. Урок 28. 00:01:19
    Creating and Deleting Resources. Coming Up
  29. Урок 29. 00:03:29
    Method Safety and Method Idempotency
  30. Урок 30. 00:11:33
    Demo - Creating a Resource
  31. Урок 31. 00:06:47
    Demo - Creating a Child Resource
  32. Урок 32. 00:04:44
    Demo - Creating Child Resources Together with a Parent Resource
  33. Урок 33. 00:04:04
    Demo - Creating a Collection of Resources
  34. Урок 34. 00:08:26
    Demo - Working with Array Keys and Composite Keys
  35. Урок 35. 00:04:45
    Demo - Handling POST to a Single Resource
  36. Урок 36. 00:02:29
    Demo - Supporting Additional Content-type Values and Input Formatters
  37. Урок 37. 00:03:26
    Demo - Deleting a Resource
  38. Урок 38. 00:01:46
    Demo - Deleting a Resource with Child Resources
  39. Урок 39. 00:01:18
    Deleting Collection Resources
  40. Урок 40. 00:02:48
    Creating and Deleting Resources. Summary
  41. Урок 41. 00:01:02
    Updating Resources. Coming Up
  42. Урок 42. 00:06:18
    Demo - Updating a Resource (Part 1)
  43. Урок 43. 00:03:17
    The Repository Pattern
  44. Урок 44. 00:05:18
    Demo - Updating a Resource (Part 2)
  45. Урок 45. 00:01:29
    Updating Collection Resources
  46. Урок 46. 00:03:14
    Upserting
  47. Урок 47. 00:03:33
    Demo - Upserting with PUT
  48. Урок 48. 00:04:14
    Partially Updating a Resource
  49. Урок 49. 00:06:55
    Demo - Partially Updating a Resource
  50. Урок 50. 00:03:15
    Demo - Upserting with PATCH
  51. Урок 51. 00:04:39
    HTTP Method Overview by Use Case
  52. Урок 52. 00:01:34
    Updating Resources. Summary
  53. Урок 53. 00:00:59
    Working with Validation and Logging. Coming Up
  54. Урок 54. 00:04:21
    Working with Validation in a RESTful World
  55. Урок 55. 00:10:20
    Demo - Working with Validation on POST
  56. Урок 56. 00:06:52
    Demo - Working with Validation on PUT
  57. Урок 57. 00:05:58
    Demo - Working with Validation on PATCH
  58. Урок 58. 00:07:37
    Demo - Logging Faults
  59. Урок 59. 00:02:01
    Demo - Logging Errors and Other Information
  60. Урок 60. 00:04:57
    Demo - Logging to a File
  61. Урок 61. 00:01:25
    Working with Validation and Logging. Summary
  62. Урок 62. 00:00:55
    Implementing Paging, Filtering, and Searching. Coming Up
  63. Урок 63. 00:02:26
    Paging Through Collection Resources
  64. Урок 64. 00:01:39
    The Principle of Deferred Execution
  65. Урок 65. 00:08:06
    Demo - Paging Through Collection Resources (Part 1)
  66. Урок 66. 00:02:32
    Returning Pagination Metadata
  67. Урок 67. 00:10:30
    Demo - Paging Through Collection Resources (Part 2)
  68. Урок 68. 00:01:58
    Filtering and Searching
  69. Урок 69. 00:03:05
    Demo - Filtering Collection Resources
  70. Урок 70. 00:02:36
    Demo - Searching Through Collection Resources
  71. Урок 71. 00:01:17
    Implementing Paging, Filtering, and Searching. Summary
  72. Урок 72. 00:00:48
    Implementing Sorting and Data Shaping. Coming Up
  73. Урок 73. 00:00:57
    Sorting Collection Resources
  74. Урок 74. 00:02:32
    Demo - Sorting Collection Resources (Part 1)
  75. Урок 75. 00:02:35
    Creating a Property Mapping Service
  76. Урок 76. 00:03:52
    Demo - Creating a Property Mapping Service
  77. Урок 77. 00:06:47
    Demo - Sorting Collection Resources (Part 2)
  78. Урок 78. 00:04:05
    Demo - Taking Consumer Errors into Account When Sorting
  79. Урок 79. 00:01:09
    Shaping Resources
  80. Урок 80. 00:05:00
    Demo - Creating a Method to Shape Resources
  81. Урок 81. 00:04:32
    Demo - Shaping Collection Resources
  82. Урок 82. 00:01:33
    Demo - Camel-casing Dictionaries When Serializing to JSON
  83. Урок 83. 00:04:31
    Demo - Shaping a Single Resource
  84. Урок 84. 00:01:26
    Exploring Additional Options
  85. Урок 85. 00:00:46
    Implementing Sorting and Data Shaping. Summary
  86. Урок 86. 00:00:38
    Getting Started with HATEOAS. Coming Up
  87. Урок 87. 00:08:15
    Hypermedia as the Engine of Application State
  88. Урок 88. 00:02:01
    Demo Introduction – Supporting HATOEAS
  89. Урок 89. 00:09:37
    Demo - Supporting HATEOAS (Base and Wrapper Class Approach)
  90. Урок 90. 00:14:44
    Demo - Supporting HATEOAS (Dynamic Approach)
  91. Урок 91. 00:01:28
    Getting Started with HATEOAS. Summary
  92. Урок 92. 00:00:40
    Advanced HATEOAS, Media Types, and Versioning. Coming Up
  93. Урок 93. 00:03:49
    HATEOAS and Content Negotiation
  94. Урок 94. 00:04:23
    Demo - HATEOAS and Content Negotiation
  95. Урок 95. 00:03:14
    Demo - Working Towards Self-discoverability with a Root Document
  96. Урок 96. 00:02:47
    Revisiting Media Types
  97. Урок 97. 00:05:49
    Versioning in a RESTful World
  98. Урок 98. 00:11:09
    Demo - Media Types and Versioning
  99. Урок 99. 00:03:14
    Supporting Multiple Media Types
  100. Урок 100. 00:02:01
    Other Approaches and Options
  101. Урок 101. 00:01:35
    Advanced HATEOAS, Media Types, and Versioning. Summary
  102. Урок 102. 00:00:47
    Working with Caching and Concurrency. Coming Up
  103. Урок 103. 00:04:26
    Working with Caching
  104. Урок 104. 00:05:31
    The Expiration Model
  105. Урок 105. 00:07:45
    The Validation Model
  106. Урок 106. 00:03:42
    Cache-control Directives
  107. Урок 107. 00:02:03
    Supporting Cache Headers
  108. Урок 108. 00:07:08
    Demo - Supporting HTTP Cache Headers
  109. Урок 109. 00:04:08
    Cache Stores
  110. Урок 110. 00:03:15
    Dealing with Concurrency in a RESTful World
  111. Урок 111. 00:02:47
    Demo - Dealing with Concurrency
  112. Урок 112. 00:01:27
    Working with Caching and Concurrency. Summary
  113. Урок 113. 00:01:23
    Protecting, Testing, and Documenting Our API. Coming Up
  114. Урок 114. 00:02:13
    Rate Limiting and Throttling
  115. Урок 115. 00:06:33
    Demo - Rate Limiting and Throttling
  116. Урок 116. 00:05:53
    Demo - Testing our API with Postman
  117. Урок 117. 00:01:55
    Automated Testing and Continuous Integration
  118. Урок 118. 00:04:46
    Documenting our API
  119. Урок 119. 00:01:11
    Working with OPTIONS
  120. Урок 120. 00:01:50
    Demo - Supporting the OPTIONS Method
  121. Урок 121. 00:00:24
    Working with HEAD
  122. Урок 122. 00:01:53
    Demo - Supporting the HEAD Method
  123. Урок 123. 00:02:10
    Protecting, Testing, and Documenting Our API. Summary