{"action":"created","comment":{"url":"https://api.github.com/repos/aspnet/Docs/pulls/comments/74354525","id":74354525,"diff_hunk":"@@ -0,0 +1,328 @@\n+.. _web-api-help-pages-using-swagger:\n+\n+ASP.NET Web API Help Pages using Swagger\n+========================================\n+\n+By `Shayne Boyer`_\n+\n+Understanding the various methods of an API can be a challenge for a developer when building a consuming application. \n+\n+Generating good documentation and help pages as a part of your Web API using `Swagger <a href=\"http://swagger.io/\">`_ with the .NET Core implementation `Swashbuckle <a href=\"https://github.com/domaindrivendev/Ahoy\">`_ is as easy as adding a couple of NuGet packages and modifying the Startup.cs.\n+\n+This tutorial builds on the sample on :doc:`first-web-api`. If you'd like to follow along, download the sample at https://github.com/aspnet/Docs/tree/master/aspnet/tutorials/first-web-api/sample.\n+\n+.. contents:: Sections:\n+  :local:\n+  :depth: 2\n+\n+Getting Started\n+---------------\n+There are two core components to Swashbuckle \n+\n+- *Swashbuckle.SwaggerGen* : provides the functionality to scaffold your Web API and generate JSON Swagger documents that describe the objects, methods, return types, etc. \n+- *Swashbuckle.SwaggerUI* : an embedded version of the Swagger UI tool which uses the above documents for a rich customizable experience for describing the Web API functionality and includes built in test harness capabilities for the public methods.\n+\n+NuGet Packages\n+--------------\n+You can add Swashbuckle with any of the following approaches:\n+\n+- From the Package Manager Console: \n+\n+.. code-block:: bash\n+\n+    Install=Package Swashbuckle -Pre\n+\n+- Add Swashbuckle to project.json:\n+\n+.. code-block:: javascript\n+\n+    \"Swashbuckle\": \"6.0.0-\"\n+\n+- In Visual Studio:\n+\t- Right click your project in Solution Explorer > Manage NuGet Packages \n+\t- Enter Swashbuckle in the search box\n+\t- Check \"Include prerelease\" \n+\t- Set the Package source to nuget.org \n+\t- Tap the Swashbuckle package and then tap Install \n+\n+\n+\n+Add and configure Swagger to the middleware\n+-------------------------------------------\n+\n+Add SwaggerGen to the services collection in the Configure method, and in the ConfigureServices method, enable the middleware for serving generated JSON document and the SwaggerUI. \n+\n+.. literalinclude:: web-api-help-pages-using-swagger/sample/src/TodoApi/Startup.cs\n+    :language: c#\n+    :start-after: snippet_Configure\n+    :end-before: #endregion\n+    :dedent: 8\n+    :emphasize-lines: 13,44,47\n+\n+\n+In Visual Studio, press ^F5 to launch the app and navigate to ``http://localhost:<random_port>/swagger/v1/swagger.json`` to see the document generated that describes the endpoints. \n+\n+.. note:: Microsoft Edge, Google Chrome and Firefox display JSON documents natively.  There are extensions for Chrome that will format the document for easier reading. *Example below reduced for brevity.*\n+\n+.. code-block:: javascript\n+\n+    {\n+    \"swagger\": \"2.0\",\n+    \"info\": {\n+        \"version\": \"v1\",\n+        \"title\": \"API V1\"\n+    },\n+    \"basePath\": \"/\",\n+    \"paths\": {\n+        \"/api/Todo\": {\n+        \"get\": {\n+            \"tags\": [\n+            \"Todo\"\n+            ],\n+            \"operationId\": \"ApiTodoGet\",\n+            \"consumes\": [],\n+            \"produces\": [\n+            \"text/plain\",\n+            \"application/json\",\n+            \"text/json\"\n+            ],\n+            \"responses\": {\n+            \"200\": {\n+                \"description\": \"OK\",\n+                \"schema\": {\n+                \"type\": \"array\",\n+                \"items\": {\n+                    \"$ref\": \"#/definitions/TodoItem\"\n+                }\n+                }\n+            }\n+            },\n+            \"deprecated\": false\n+        },\n+        \"post\": {\n+            ...\n+        }\n+        },\n+        \"/api/Todo/{id}\": {\n+        \"get\": {\n+            ...\n+        },\n+        \"put\": {\n+            ...\n+        },\n+        \"delete\": {\n+            ...\n+    },\n+    \"definitions\": {\n+        \"TodoItem\": {\n+        \"type\": \"object\",\n+        \"properties\": {\n+            \"key\": {\n+            \"type\": \"string\"\n+            },\n+            \"name\": {\n+            \"type\": \"string\"\n+            },\n+            \"isComplete\": {\n+            \"type\": \"boolean\"\n+            }\n+        }\n+        }\n+    },\n+    \"securityDefinitions\": {}\n+    }\n+\n+This document is used to drive the Swagger UI which can be viewed by navigating to ``http://localhost:<random_port>/swagger/ui``\n+\n+.. image:: web-api-help-pages-using-swagger/_static/swagger-ui.png\n+\n+Each of the methods in the ToDo controller can be tested from the UI. Tap a method to expand the section, add any necessary parameters and tap \"Try it out!\".\n+\n+.. image:: web-api-help-pages-using-swagger/_static/get-try-it-out.png\n+\n+At this point, the basic implementation of the Swagger functionality is complete. However, there are many configuration and extensibility options available beyond the defaults. See below for more information.\n+\n+Customization & Extensibility \n+-----------------------------\n+Swagger is not only a simple way to represent the API, but has options for documenting the object model, as well as customizing the interactive UI to match your look and feel or design language.\n+\n+API Info and Description\n+''''''''''''''''''''''''\n+For adding additional information such as the author, license, description etc.; use the ``Swashbuckle.Swagger.Model.Info`` class and use the ``.ConfigureSwaggerGen()`` method.\n+\n+.. literalinclude:: web-api-help-pages-using-swagger/sample/src/TodoApi/Startup.cs\n+    :language: c#\n+    :start-after: snippet_Configure\n+    :end-before: #endregion\n+    :dedent: 8\n+    :emphasize-lines: 16-26\n+\n+Then the Swagger UI produces the following more presentable information concerning the API.\n+\n+.. image:: web-api-help-pages-using-swagger/_static/custom-info.png\n+\n+XML Comments\n+'''''''''''''\n+In order to enable the generation of xml comments, right click the project in Visual Studio and select \"Properties\" and check the ``XML Documentation file`` box under the Output Settings section.\n+\n+.. image:: web-api-help-pages-using-swagger/_static/swagger-xml-comments.png\n+\n+.. note:: If you are not using Visual Studio then you can enable the \"XML documentation file\" flag in the ``project.json`` file by setting the ``\"xmlDoc\": true`` in the ``buildOptions`` section.\n+\n+Configure the OperationFilter to use the generated xml file. An additional item to point out here is the use of ``PlatformServices.Default.Application.ApplicationBasePath`` to access the executing location of the application. This is the location where the generated xml file will be placed. Notably it can vary depending on the .NET Framework used for the environment.\n+\n+.. note:: For Linux or non-Windows operating systems, file names and paths can be case sensitive. So ``ToDoApi.xml`` would be found on Windows but not Centos for example.\n+\n+.. literalinclude:: web-api-help-pages-using-swagger/sample/src/TodoApi/Startup.cs\n+    :language: c#\n+    :start-after: snippet_Configure\n+    :end-before: #endregion\n+    :dedent: 8\n+    :emphasize-lines: 29,32\n+\n+Adding the triple slash comments to the method enhances the Swagger UI by adding the description to the header of the section.\n+\n+.. literalinclude:: web-api-help-pages-using-swagger/sample/src/TodoApi/Controllers/TodoController.cs\n+    :language: c#\n+    :start-after: Delete_Method\n+    :end-before: #endregion\n+    :dedent: 8\n+    :emphasize-lines: 2\n+\n+.. image:: web-api-help-pages-using-swagger/_static/triple-slash-comments.png\n+\n+Note that the UI is driven by the generated JSON file, and these comments are also in that file as well.\n+\n+.. code-block:: javascript\n+    :emphasize-lines: 5\n+\n+      \"delete\": {\n+        \"tags\": [\n+          \"Todo\"\n+        ],\n+        \"summary\": \"Deletes a specific TodoItem\",\n+        \"operationId\": \"ApiTodoByIdDelete\",\n+        \"consumes\": [],\n+        \"produces\": [],\n+        \"parameters\": [\n+          {\n+            \"name\": \"id\",\n+            \"in\": \"path\",\n+            \"description\": \"\",\n+            \"required\": true,\n+            \"type\": \"string\"\n+          }\n+        ],\n+        \"responses\": {\n+          \"204\": {\n+            \"description\": \"No Content\"\n+          }\n+        },\n+        \"deprecated\": false\n+      }\n+\n+Here is a more robust example, adding ``<remarks />`` where the content can be just text or adding the JSON or xml object for further documentation of the method.","path":"aspnet/tutorials/web-api-help-pages-using-swagger.rst","position":224,"original_position":224,"commit_id":"072d340a1bdea9012cd9e097636e27addd77e695","original_commit_id":"072d340a1bdea9012cd9e097636e27addd77e695","user":{"login":"Rick-Anderson","id":3605364,"avatar_url":"https://avatars.githubusercontent.com/u/3605364?v=3","gravatar_id":"","url":"https://api.github.com/users/Rick-Anderson","html_url":"https://github.com/Rick-Anderson","followers_url":"https://api.github.com/users/Rick-Anderson/followers","following_url":"https://api.github.com/users/Rick-Anderson/following{/other_user}","gists_url":"https://api.github.com/users/Rick-Anderson/gists{/gist_id}","starred_url":"https://api.github.com/users/Rick-Anderson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Rick-Anderson/subscriptions","organizations_url":"https://api.github.com/users/Rick-Anderson/orgs","repos_url":"https://api.github.com/users/Rick-Anderson/repos","events_url":"https://api.github.com/users/Rick-Anderson/events{/privacy}","received_events_url":"https://api.github.com/users/Rick-Anderson/received_events","type":"User","site_admin":false},"body":"In the code below, ``<remarks />``  have been added to the /// comments. The content can be text, JSON or XML.  \r\nI'm just guessing, are you saying /// can be text/json/xml?\r\nI would then call out ``SwaggerResponse`` separately and it's contribution. ","created_at":"2016-08-11T00:14:42Z","updated_at":"2016-08-11T00:14:42Z","html_url":"https://github.com/aspnet/Docs/pull/1768#discussion_r74354525","pull_request_url":"https://api.github.com/repos/aspnet/Docs/pulls/1768","_links":{"self":{"href":"https://api.github.com/repos/aspnet/Docs/pulls/comments/74354525"},"html":{"href":"https://github.com/aspnet/Docs/pull/1768#discussion_r74354525"},"pull_request":{"href":"https://api.github.com/repos/aspnet/Docs/pulls/1768"}}},"pull_request":{"url":"https://api.github.com/repos/aspnet/Docs/pulls/1768","id":80510885,"html_url":"https://github.com/aspnet/Docs/pull/1768","diff_url":"https://github.com/aspnet/Docs/pull/1768.diff","patch_url":"https://github.com/aspnet/Docs/pull/1768.patch","issue_url":"https://api.github.com/repos/aspnet/Docs/issues/1768","number":1768,"state":"open","locked":false,"title":"Webapi Swagger Tutorial ","user":{"login":"spboyer","id":7681382,"avatar_url":"https://avatars.githubusercontent.com/u/7681382?v=3","gravatar_id":"","url":"https://api.github.com/users/spboyer","html_url":"https://github.com/spboyer","followers_url":"https://api.github.com/users/spboyer/followers","following_url":"https://api.github.com/users/spboyer/following{/other_user}","gists_url":"https://api.github.com/users/spboyer/gists{/gist_id}","starred_url":"https://api.github.com/users/spboyer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/spboyer/subscriptions","organizations_url":"https://api.github.com/users/spboyer/orgs","repos_url":"https://api.github.com/users/spboyer/repos","events_url":"https://api.github.com/users/spboyer/events{/privacy}","received_events_url":"https://api.github.com/users/spboyer/received_events","type":"User","site_admin":false},"body":"closes #987 \r\n@Rick-Anderson please review\r\n@danroth27 please review","created_at":"2016-08-08T19:52:46Z","updated_at":"2016-08-11T00:14:42Z","closed_at":null,"merged_at":null,"merge_commit_sha":"7fb61048cc60e555098a7c4cba194f0aaf08cfcc","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/aspnet/Docs/pulls/1768/commits","review_comments_url":"https://api.github.com/repos/aspnet/Docs/pulls/1768/comments","review_comment_url":"https://api.github.com/repos/aspnet/Docs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/aspnet/Docs/issues/1768/comments","statuses_url":"https://api.github.com/repos/aspnet/Docs/statuses/072d340a1bdea9012cd9e097636e27addd77e695","head":{"label":"aspnet:webapi-swagger","ref":"webapi-swagger","sha":"072d340a1bdea9012cd9e097636e27addd77e695","user":{"login":"aspnet","id":6476660,"avatar_url":"https://avatars.githubusercontent.com/u/6476660?v=3","gravatar_id":"","url":"https://api.github.com/users/aspnet","html_url":"https://github.com/aspnet","followers_url":"https://api.github.com/users/aspnet/followers","following_url":"https://api.github.com/users/aspnet/following{/other_user}","gists_url":"https://api.github.com/users/aspnet/gists{/gist_id}","starred_url":"https://api.github.com/users/aspnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aspnet/subscriptions","organizations_url":"https://api.github.com/users/aspnet/orgs","repos_url":"https://api.github.com/users/aspnet/repos","events_url":"https://api.github.com/users/aspnet/events{/privacy}","received_events_url":"https://api.github.com/users/aspnet/received_events","type":"Organization","site_admin":false},"repo":{"id":28239455,"name":"Docs","full_name":"aspnet/Docs","owner":{"login":"aspnet","id":6476660,"avatar_url":"https://avatars.githubusercontent.com/u/6476660?v=3","gravatar_id":"","url":"https://api.github.com/users/aspnet","html_url":"https://github.com/aspnet","followers_url":"https://api.github.com/users/aspnet/followers","following_url":"https://api.github.com/users/aspnet/following{/other_user}","gists_url":"https://api.github.com/users/aspnet/gists{/gist_id}","starred_url":"https://api.github.com/users/aspnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aspnet/subscriptions","organizations_url":"https://api.github.com/users/aspnet/orgs","repos_url":"https://api.github.com/users/aspnet/repos","events_url":"https://api.github.com/users/aspnet/events{/privacy}","received_events_url":"https://api.github.com/users/aspnet/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/aspnet/Docs","description":"Documentation for ASP.NET Core","fork":false,"url":"https://api.github.com/repos/aspnet/Docs","forks_url":"https://api.github.com/repos/aspnet/Docs/forks","keys_url":"https://api.github.com/repos/aspnet/Docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/aspnet/Docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/aspnet/Docs/teams","hooks_url":"https://api.github.com/repos/aspnet/Docs/hooks","issue_events_url":"https://api.github.com/repos/aspnet/Docs/issues/events{/number}","events_url":"https://api.github.com/repos/aspnet/Docs/events","assignees_url":"https://api.github.com/repos/aspnet/Docs/assignees{/user}","branches_url":"https://api.github.com/repos/aspnet/Docs/branches{/branch}","tags_url":"https://api.github.com/repos/aspnet/Docs/tags","blobs_url":"https://api.github.com/repos/aspnet/Docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/aspnet/Docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/aspnet/Docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/aspnet/Docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/aspnet/Docs/statuses/{sha}","languages_url":"https://api.github.com/repos/aspnet/Docs/languages","stargazers_url":"https://api.github.com/repos/aspnet/Docs/stargazers","contributors_url":"https://api.github.com/repos/aspnet/Docs/contributors","subscribers_url":"https://api.github.com/repos/aspnet/Docs/subscribers","subscription_url":"https://api.github.com/repos/aspnet/Docs/subscription","commits_url":"https://api.github.com/repos/aspnet/Docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/aspnet/Docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/aspnet/Docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/aspnet/Docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/aspnet/Docs/contents/{+path}","compare_url":"https://api.github.com/repos/aspnet/Docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/aspnet/Docs/merges","archive_url":"https://api.github.com/repos/aspnet/Docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/aspnet/Docs/downloads","issues_url":"https://api.github.com/repos/aspnet/Docs/issues{/number}","pulls_url":"https://api.github.com/repos/aspnet/Docs/pulls{/number}","milestones_url":"https://api.github.com/repos/aspnet/Docs/milestones{/number}","notifications_url":"https://api.github.com/repos/aspnet/Docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/aspnet/Docs/labels{/name}","releases_url":"https://api.github.com/repos/aspnet/Docs/releases{/id}","deployments_url":"https://api.github.com/repos/aspnet/Docs/deployments","created_at":"2014-12-19T17:38:02Z","updated_at":"2016-08-10T19:58:18Z","pushed_at":"2016-08-10T23:01:48Z","git_url":"git://github.com/aspnet/Docs.git","ssh_url":"git@github.com:aspnet/Docs.git","clone_url":"https://github.com/aspnet/Docs.git","svn_url":"https://github.com/aspnet/Docs","homepage":"","size":57765,"stargazers_count":656,"watchers_count":656,"language":"C#","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1165,"mirror_url":null,"open_issues_count":165,"forks":1165,"open_issues":165,"watchers":656,"default_branch":"master"}},"base":{"label":"aspnet:master","ref":"master","sha":"365a3a17885ce60311c81e68d16511ea386b7e7a","user":{"login":"aspnet","id":6476660,"avatar_url":"https://avatars.githubusercontent.com/u/6476660?v=3","gravatar_id":"","url":"https://api.github.com/users/aspnet","html_url":"https://github.com/aspnet","followers_url":"https://api.github.com/users/aspnet/followers","following_url":"https://api.github.com/users/aspnet/following{/other_user}","gists_url":"https://api.github.com/users/aspnet/gists{/gist_id}","starred_url":"https://api.github.com/users/aspnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aspnet/subscriptions","organizations_url":"https://api.github.com/users/aspnet/orgs","repos_url":"https://api.github.com/users/aspnet/repos","events_url":"https://api.github.com/users/aspnet/events{/privacy}","received_events_url":"https://api.github.com/users/aspnet/received_events","type":"Organization","site_admin":false},"repo":{"id":28239455,"name":"Docs","full_name":"aspnet/Docs","owner":{"login":"aspnet","id":6476660,"avatar_url":"https://avatars.githubusercontent.com/u/6476660?v=3","gravatar_id":"","url":"https://api.github.com/users/aspnet","html_url":"https://github.com/aspnet","followers_url":"https://api.github.com/users/aspnet/followers","following_url":"https://api.github.com/users/aspnet/following{/other_user}","gists_url":"https://api.github.com/users/aspnet/gists{/gist_id}","starred_url":"https://api.github.com/users/aspnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aspnet/subscriptions","organizations_url":"https://api.github.com/users/aspnet/orgs","repos_url":"https://api.github.com/users/aspnet/repos","events_url":"https://api.github.com/users/aspnet/events{/privacy}","received_events_url":"https://api.github.com/users/aspnet/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/aspnet/Docs","description":"Documentation for ASP.NET Core","fork":false,"url":"https://api.github.com/repos/aspnet/Docs","forks_url":"https://api.github.com/repos/aspnet/Docs/forks","keys_url":"https://api.github.com/repos/aspnet/Docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/aspnet/Docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/aspnet/Docs/teams","hooks_url":"https://api.github.com/repos/aspnet/Docs/hooks","issue_events_url":"https://api.github.com/repos/aspnet/Docs/issues/events{/number}","events_url":"https://api.github.com/repos/aspnet/Docs/events","assignees_url":"https://api.github.com/repos/aspnet/Docs/assignees{/user}","branches_url":"https://api.github.com/repos/aspnet/Docs/branches{/branch}","tags_url":"https://api.github.com/repos/aspnet/Docs/tags","blobs_url":"https://api.github.com/repos/aspnet/Docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/aspnet/Docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/aspnet/Docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/aspnet/Docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/aspnet/Docs/statuses/{sha}","languages_url":"https://api.github.com/repos/aspnet/Docs/languages","stargazers_url":"https://api.github.com/repos/aspnet/Docs/stargazers","contributors_url":"https://api.github.com/repos/aspnet/Docs/contributors","subscribers_url":"https://api.github.com/repos/aspnet/Docs/subscribers","subscription_url":"https://api.github.com/repos/aspnet/Docs/subscription","commits_url":"https://api.github.com/repos/aspnet/Docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/aspnet/Docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/aspnet/Docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/aspnet/Docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/aspnet/Docs/contents/{+path}","compare_url":"https://api.github.com/repos/aspnet/Docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/aspnet/Docs/merges","archive_url":"https://api.github.com/repos/aspnet/Docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/aspnet/Docs/downloads","issues_url":"https://api.github.com/repos/aspnet/Docs/issues{/number}","pulls_url":"https://api.github.com/repos/aspnet/Docs/pulls{/number}","milestones_url":"https://api.github.com/repos/aspnet/Docs/milestones{/number}","notifications_url":"https://api.github.com/repos/aspnet/Docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/aspnet/Docs/labels{/name}","releases_url":"https://api.github.com/repos/aspnet/Docs/releases{/id}","deployments_url":"https://api.github.com/repos/aspnet/Docs/deployments","created_at":"2014-12-19T17:38:02Z","updated_at":"2016-08-10T19:58:18Z","pushed_at":"2016-08-10T23:01:48Z","git_url":"git://github.com/aspnet/Docs.git","ssh_url":"git@github.com:aspnet/Docs.git","clone_url":"https://github.com/aspnet/Docs.git","svn_url":"https://github.com/aspnet/Docs","homepage":"","size":57765,"stargazers_count":656,"watchers_count":656,"language":"C#","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1165,"mirror_url":null,"open_issues_count":165,"forks":1165,"open_issues":165,"watchers":656,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/aspnet/Docs/pulls/1768"},"html":{"href":"https://github.com/aspnet/Docs/pull/1768"},"issue":{"href":"https://api.github.com/repos/aspnet/Docs/issues/1768"},"comments":{"href":"https://api.github.com/repos/aspnet/Docs/issues/1768/comments"},"review_comments":{"href":"https://api.github.com/repos/aspnet/Docs/pulls/1768/comments"},"review_comment":{"href":"https://api.github.com/repos/aspnet/Docs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/aspnet/Docs/pulls/1768/commits"},"statuses":{"href":"https://api.github.com/repos/aspnet/Docs/statuses/072d340a1bdea9012cd9e097636e27addd77e695"}}}}
{"actor":{"display_login":"Rick-Anderson"}}