Use HTTPS for external links where possible
See gh-609
This commit is contained in:
committed by
Andy Wilkinson
parent
4fdb1f5361
commit
f2e60ea347
@@ -42,5 +42,5 @@ with regard to the reporter of an incident.
|
|||||||
This Code of Conduct is adapted from the [Contributor Covenant][1], version 1.3.0, available
|
This Code of Conduct is adapted from the [Contributor Covenant][1], version 1.3.0, available
|
||||||
at [contributor-covenant.org/version/1/3/0/][2].
|
at [contributor-covenant.org/version/1/3/0/][2].
|
||||||
|
|
||||||
[1]: http://contributor-covenant.org
|
[1]: https://contributor-covenant.org
|
||||||
[2]: http://contributor-covenant.org/version/1/3/0/
|
[2]: https://contributor-covenant.org/version/1/3/0/
|
||||||
@@ -62,4 +62,4 @@ The project can then be imported into Eclipse using `File -> Import…` and then
|
|||||||
|
|
||||||
[1]: CODE_OF_CONDUCT.md
|
[1]: CODE_OF_CONDUCT.md
|
||||||
[2]: https://support.springsource.com/spring_committer_signup
|
[2]: https://support.springsource.com/spring_committer_signup
|
||||||
[3]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
|
[3]: https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
|
||||||
@@ -9,7 +9,7 @@ for your RESTful services. However, we can't achieve that goal without your cont
|
|||||||
[[contributing-questions]]
|
[[contributing-questions]]
|
||||||
=== Questions
|
=== Questions
|
||||||
|
|
||||||
You can ask questions about Spring REST Docs on http://stackoverflow.com[StackOverflow]
|
You can ask questions about Spring REST Docs on https://stackoverflow.com[StackOverflow]
|
||||||
using the `spring-restdocs` tag. Similarly, we encourage you to help your fellow
|
using the `spring-restdocs` tag. Similarly, we encourage you to help your fellow
|
||||||
Spring REST Docs users by answering questions.
|
Spring REST Docs users by answering questions.
|
||||||
|
|
||||||
|
|||||||
@@ -444,7 +444,7 @@ A number of snippets are produced automatically when you document a call to
|
|||||||
|Snippet | Description
|
|Snippet | Description
|
||||||
|
|
||||||
| `curl-request.adoc`
|
| `curl-request.adoc`
|
||||||
| Contains the http://curl.haxx.se[`curl`] command that is equivalent to the `MockMvc`
|
| Contains the https://curl.haxx.se[`curl`] command that is equivalent to the `MockMvc`
|
||||||
call that is being documented
|
call that is being documented
|
||||||
|
|
||||||
| `http-request.adoc`
|
| `http-request.adoc`
|
||||||
|
|||||||
@@ -10,9 +10,9 @@ This section describes how to get started with Spring REST Docs.
|
|||||||
|
|
||||||
If you want to jump straight in, there are two sample applications available.
|
If you want to jump straight in, there are two sample applications available.
|
||||||
{samples}/rest-notes-spring-hateoas[One sample] uses
|
{samples}/rest-notes-spring-hateoas[One sample] uses
|
||||||
http://projects.spring.io/spring-hateoas/[Spring HATEOAS] and
|
https://projects.spring.io/spring-hateoas/[Spring HATEOAS] and
|
||||||
{samples}/rest-notes-spring-data-rest[the other] uses
|
{samples}/rest-notes-spring-data-rest[the other] uses
|
||||||
http://projects.spring.io/spring-data-rest/[Spring Data REST]. Both samples use
|
https://projects.spring.io/spring-data-rest/[Spring Data REST]. Both samples use
|
||||||
Spring REST Docs to produce a detailed API guide and a getting started walkthrough.
|
Spring REST Docs to produce a detailed API guide and a getting started walkthrough.
|
||||||
|
|
||||||
Each sample contains a file named `api-guide.adoc` that produces an API guide for the
|
Each sample contains a file named `api-guide.adoc` that produces an API guide for the
|
||||||
@@ -295,7 +295,7 @@ that can be produced by Spring REST Docs.
|
|||||||
=== Using the snippets
|
=== Using the snippets
|
||||||
|
|
||||||
The generated snippets can be included in your documentation using the
|
The generated snippets can be included in your documentation using the
|
||||||
http://asciidoctor.org/docs/asciidoc-syntax-quick-reference/#include-files[include macro].
|
https://asciidoctor.org/docs/asciidoc-syntax-quick-reference/#include-files[include macro].
|
||||||
The `snippets` attribute specified in the <<getting-started-build-configuration, build
|
The `snippets` attribute specified in the <<getting-started-build-configuration, build
|
||||||
configuration>> can be used to reference the snippets output directory. For example:
|
configuration>> can be used to reference the snippets output directory. For example:
|
||||||
|
|
||||||
|
|||||||
@@ -12,8 +12,8 @@ Andy Wilkinson
|
|||||||
:source: {github}/tree/{branch-or-tag}
|
:source: {github}/tree/{branch-or-tag}
|
||||||
:samples: {source}/samples
|
:samples: {source}/samples
|
||||||
:templates: {source}spring-restdocs/src/main/resources/org/springframework/restdocs/templates
|
:templates: {source}spring-restdocs/src/main/resources/org/springframework/restdocs/templates
|
||||||
:spring-boot-docs: http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle
|
:spring-boot-docs: https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle
|
||||||
:spring-framework-docs: http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle
|
:spring-framework-docs: https://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle
|
||||||
|
|
||||||
[[abstract]]
|
[[abstract]]
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ services that is accurate and readable.
|
|||||||
|
|
||||||
Writing high-quality documentation is difficult. One way to ease that difficulty is to use
|
Writing high-quality documentation is difficult. One way to ease that difficulty is to use
|
||||||
tools that are well-suited to the job. To this end, Spring REST Docs uses
|
tools that are well-suited to the job. To this end, Spring REST Docs uses
|
||||||
http://asciidoctor.org[Asciidoctor]. Asciidoctor processes plain text and produces
|
https://asciidoctor.org[Asciidoctor]. Asciidoctor processes plain text and produces
|
||||||
HTML, styled and layed out to suit your needs.
|
HTML, styled and layed out to suit your needs.
|
||||||
|
|
||||||
Spring REST Docs makes use of snippets produced by tests written with
|
Spring REST Docs makes use of snippets produced by tests written with
|
||||||
|
|||||||
@@ -9,15 +9,15 @@ relevant to Spring REST Docs.
|
|||||||
[[working-with-asciidoctor-resources]]
|
[[working-with-asciidoctor-resources]]
|
||||||
=== Resources
|
=== Resources
|
||||||
|
|
||||||
* http://asciidoctor.org/docs/asciidoc-syntax-quick-reference[Syntax quick reference]
|
* https://asciidoctor.org/docs/asciidoc-syntax-quick-reference[Syntax quick reference]
|
||||||
* http://asciidoctor.org/docs/user-manual[User manual]
|
* https://asciidoctor.org/docs/user-manual[User manual]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[[working-with-asciidoctor-including-snippets]]
|
[[working-with-asciidoctor-including-snippets]]
|
||||||
=== Including snippets
|
=== Including snippets
|
||||||
|
|
||||||
The http://asciidoctor.org/docs/asciidoc-syntax-quick-reference/#include-files[include
|
The https://asciidoctor.org/docs/asciidoc-syntax-quick-reference/#include-files[include
|
||||||
macro] is used to include generated snippets in your documentation. The `snippets`
|
macro] is used to include generated snippets in your documentation. The `snippets`
|
||||||
attribute specified in the <<getting-started-build-configuration, build configuration>>
|
attribute specified in the <<getting-started-build-configuration, build configuration>>
|
||||||
can be used to reference the snippets output directory, for example:
|
can be used to reference the snippets output directory, for example:
|
||||||
@@ -42,7 +42,7 @@ snippet is included or by using a custom snippet template.
|
|||||||
==== Formatting columns
|
==== Formatting columns
|
||||||
|
|
||||||
Asciidoctor has rich support for
|
Asciidoctor has rich support for
|
||||||
http://asciidoctor.org/docs/user-manual/#cols-format[formatting a table's columns]. For
|
https://asciidoctor.org/docs/user-manual/#cols-format[formatting a table's columns]. For
|
||||||
example, the widths of a table's columns can be specified using the `cols` attribute:
|
example, the widths of a table's columns can be specified using the `cols` attribute:
|
||||||
|
|
||||||
[source,adoc,indent=0]
|
[source,adoc,indent=0]
|
||||||
@@ -71,5 +71,5 @@ The title of a table can be specified using a line prefixed by a `.`:
|
|||||||
|
|
||||||
==== Further reading
|
==== Further reading
|
||||||
|
|
||||||
Refer to the http://asciidoctor.org/docs/user-manual/#tables[Tables section of
|
Refer to the https://asciidoctor.org/docs/user-manual/#tables[Tables section of
|
||||||
the Asciidoctor user manual] for more information about customizing tables.
|
the Asciidoctor user manual] for more information about customizing tables.
|
||||||
@@ -20,7 +20,7 @@ to describe the relationships between resources and to allow navigation between
|
|||||||
|
|
||||||
[getting-started-running-the-service]
|
[getting-started-running-the-service]
|
||||||
== Running the service
|
== Running the service
|
||||||
RESTful Notes is written using http://projects.spring.io/spring-boot[Spring Boot] which
|
RESTful Notes is written using https://projects.spring.io/spring-boot[Spring Boot] which
|
||||||
makes it easy to get it up and running so that you can start exploring the REST API.
|
makes it easy to get it up and running so that you can start exploring the REST API.
|
||||||
|
|
||||||
The first step is to clone the Git repository:
|
The first step is to clone the Git repository:
|
||||||
|
|||||||
@@ -125,7 +125,7 @@ public class ApiDocumentation {
|
|||||||
this.noteRepository.deleteAll();
|
this.noteRepository.deleteAll();
|
||||||
|
|
||||||
createNote("REST maturity model",
|
createNote("REST maturity model",
|
||||||
"http://martinfowler.com/articles/richardsonMaturityModel.html");
|
"https://martinfowler.com/articles/richardsonMaturityModel.html");
|
||||||
createNote("Hypertext Application Language (HAL)",
|
createNote("Hypertext Application Language (HAL)",
|
||||||
"http://stateless.co/hal_specification.html");
|
"http://stateless.co/hal_specification.html");
|
||||||
createNote("Application-Level Profile Semantics (ALPS)", "http://alps.io/spec/");
|
createNote("Application-Level Profile Semantics (ALPS)", "http://alps.io/spec/");
|
||||||
@@ -151,7 +151,7 @@ public class ApiDocumentation {
|
|||||||
|
|
||||||
Map<String, Object> note = new HashMap<String, Object>();
|
Map<String, Object> note = new HashMap<String, Object>();
|
||||||
note.put("title", "REST maturity model");
|
note.put("title", "REST maturity model");
|
||||||
note.put("body", "http://martinfowler.com/articles/richardsonMaturityModel.html");
|
note.put("body", "https://martinfowler.com/articles/richardsonMaturityModel.html");
|
||||||
note.put("tags", Arrays.asList(tagLocation));
|
note.put("tags", Arrays.asList(tagLocation));
|
||||||
|
|
||||||
this.mockMvc.perform(
|
this.mockMvc.perform(
|
||||||
@@ -179,7 +179,7 @@ public class ApiDocumentation {
|
|||||||
|
|
||||||
Map<String, Object> note = new HashMap<String, Object>();
|
Map<String, Object> note = new HashMap<String, Object>();
|
||||||
note.put("title", "REST maturity model");
|
note.put("title", "REST maturity model");
|
||||||
note.put("body", "http://martinfowler.com/articles/richardsonMaturityModel.html");
|
note.put("body", "https://martinfowler.com/articles/richardsonMaturityModel.html");
|
||||||
note.put("tags", Arrays.asList(tagLocation));
|
note.put("tags", Arrays.asList(tagLocation));
|
||||||
|
|
||||||
String noteLocation = this.mockMvc
|
String noteLocation = this.mockMvc
|
||||||
@@ -239,7 +239,7 @@ public class ApiDocumentation {
|
|||||||
public void noteUpdateExample() throws Exception {
|
public void noteUpdateExample() throws Exception {
|
||||||
Map<String, Object> note = new HashMap<String, Object>();
|
Map<String, Object> note = new HashMap<String, Object>();
|
||||||
note.put("title", "REST maturity model");
|
note.put("title", "REST maturity model");
|
||||||
note.put("body", "http://martinfowler.com/articles/richardsonMaturityModel.html");
|
note.put("body", "https://martinfowler.com/articles/richardsonMaturityModel.html");
|
||||||
|
|
||||||
String noteLocation = this.mockMvc
|
String noteLocation = this.mockMvc
|
||||||
.perform(
|
.perform(
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ to describe the relationships between resources and to allow navigation between
|
|||||||
|
|
||||||
[getting-started-running-the-service]
|
[getting-started-running-the-service]
|
||||||
== Running the service
|
== Running the service
|
||||||
RESTful Notes is written using http://projects.spring.io/spring-boot[Spring Boot] which
|
RESTful Notes is written using https://projects.spring.io/spring-boot[Spring Boot] which
|
||||||
makes it easy to get it up and running so that you can start exploring the REST API.
|
makes it easy to get it up and running so that you can start exploring the REST API.
|
||||||
|
|
||||||
The first step is to clone the Git repository:
|
The first step is to clone the Git repository:
|
||||||
|
|||||||
@@ -151,7 +151,7 @@ public class ApiDocumentation {
|
|||||||
this.noteRepository.deleteAll();
|
this.noteRepository.deleteAll();
|
||||||
|
|
||||||
createNote("REST maturity model",
|
createNote("REST maturity model",
|
||||||
"http://martinfowler.com/articles/richardsonMaturityModel.html");
|
"https://martinfowler.com/articles/richardsonMaturityModel.html");
|
||||||
createNote("Hypertext Application Language (HAL)",
|
createNote("Hypertext Application Language (HAL)",
|
||||||
"http://stateless.co/hal_specification.html");
|
"http://stateless.co/hal_specification.html");
|
||||||
createNote("Application-Level Profile Semantics (ALPS)", "http://alps.io/spec/");
|
createNote("Application-Level Profile Semantics (ALPS)", "http://alps.io/spec/");
|
||||||
@@ -178,7 +178,7 @@ public class ApiDocumentation {
|
|||||||
|
|
||||||
Map<String, Object> note = new HashMap<String, Object>();
|
Map<String, Object> note = new HashMap<String, Object>();
|
||||||
note.put("title", "REST maturity model");
|
note.put("title", "REST maturity model");
|
||||||
note.put("body", "http://martinfowler.com/articles/richardsonMaturityModel.html");
|
note.put("body", "https://martinfowler.com/articles/richardsonMaturityModel.html");
|
||||||
note.put("tags", Arrays.asList(tagLocation));
|
note.put("tags", Arrays.asList(tagLocation));
|
||||||
|
|
||||||
ConstrainedFields fields = new ConstrainedFields(NoteInput.class);
|
ConstrainedFields fields = new ConstrainedFields(NoteInput.class);
|
||||||
@@ -209,7 +209,7 @@ public class ApiDocumentation {
|
|||||||
|
|
||||||
Map<String, Object> note = new HashMap<String, Object>();
|
Map<String, Object> note = new HashMap<String, Object>();
|
||||||
note.put("title", "REST maturity model");
|
note.put("title", "REST maturity model");
|
||||||
note.put("body", "http://martinfowler.com/articles/richardsonMaturityModel.html");
|
note.put("body", "https://martinfowler.com/articles/richardsonMaturityModel.html");
|
||||||
note.put("tags", Arrays.asList(tagLocation));
|
note.put("tags", Arrays.asList(tagLocation));
|
||||||
|
|
||||||
String noteLocation = this.mockMvc
|
String noteLocation = this.mockMvc
|
||||||
@@ -275,7 +275,7 @@ public class ApiDocumentation {
|
|||||||
public void noteUpdateExample() throws Exception {
|
public void noteUpdateExample() throws Exception {
|
||||||
Map<String, Object> note = new HashMap<String, Object>();
|
Map<String, Object> note = new HashMap<String, Object>();
|
||||||
note.put("title", "REST maturity model");
|
note.put("title", "REST maturity model");
|
||||||
note.put("body", "http://martinfowler.com/articles/richardsonMaturityModel.html");
|
note.put("body", "https://martinfowler.com/articles/richardsonMaturityModel.html");
|
||||||
|
|
||||||
String noteLocation = this.mockMvc
|
String noteLocation = this.mockMvc
|
||||||
.perform(
|
.perform(
|
||||||
|
|||||||
@@ -146,7 +146,7 @@ public abstract class HypermediaDocumentation {
|
|||||||
* {
|
* {
|
||||||
* "_links": {
|
* "_links": {
|
||||||
* "self": {
|
* "self": {
|
||||||
* "href": "http://example.com/foo"
|
* "href": "https://example.com/foo"
|
||||||
* }
|
* }
|
||||||
* }
|
* }
|
||||||
* }
|
* }
|
||||||
@@ -167,7 +167,7 @@ public abstract class HypermediaDocumentation {
|
|||||||
* "links": [
|
* "links": [
|
||||||
* {
|
* {
|
||||||
* "rel": "self",
|
* "rel": "self",
|
||||||
* "href": "http://example.com/foo"
|
* "href": "https://example.com/foo"
|
||||||
* }
|
* }
|
||||||
* ]
|
* ]
|
||||||
* }
|
* }
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ public class PrettyPrintingContentModifier implements ContentModifier {
|
|||||||
public byte[] prettyPrint(byte[] original) throws Exception {
|
public byte[] prettyPrint(byte[] original) throws Exception {
|
||||||
Transformer transformer = TransformerFactory.newInstance().newTransformer();
|
Transformer transformer = TransformerFactory.newInstance().newTransformer();
|
||||||
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
|
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
|
||||||
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount",
|
transformer.setOutputProperty("{https://xml.apache.org/xslt}indent-amount",
|
||||||
"4");
|
"4");
|
||||||
transformer.setOutputProperty(OutputKeys.DOCTYPE_PUBLIC, "yes");
|
transformer.setOutputProperty(OutputKeys.DOCTYPE_PUBLIC, "yes");
|
||||||
ByteArrayOutputStream transformed = new ByteArrayOutputStream();
|
ByteArrayOutputStream transformed = new ByteArrayOutputStream();
|
||||||
|
|||||||
@@ -68,23 +68,23 @@ public class LinkExtractorsPayloadTests {
|
|||||||
public void singleLink() throws IOException {
|
public void singleLink() throws IOException {
|
||||||
Map<String, List<Link>> links = this.linkExtractor
|
Map<String, List<Link>> links = this.linkExtractor
|
||||||
.extractLinks(createResponse("single-link"));
|
.extractLinks(createResponse("single-link"));
|
||||||
assertLinks(Arrays.asList(new Link("alpha", "http://alpha.example.com")), links);
|
assertLinks(Arrays.asList(new Link("alpha", "https://alpha.example.com")), links);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void multipleLinksWithDifferentRels() throws IOException {
|
public void multipleLinksWithDifferentRels() throws IOException {
|
||||||
Map<String, List<Link>> links = this.linkExtractor
|
Map<String, List<Link>> links = this.linkExtractor
|
||||||
.extractLinks(createResponse("multiple-links-different-rels"));
|
.extractLinks(createResponse("multiple-links-different-rels"));
|
||||||
assertLinks(Arrays.asList(new Link("alpha", "http://alpha.example.com"),
|
assertLinks(Arrays.asList(new Link("alpha", "https://alpha.example.com"),
|
||||||
new Link("bravo", "http://bravo.example.com")), links);
|
new Link("bravo", "https://bravo.example.com")), links);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void multipleLinksWithSameRels() throws IOException {
|
public void multipleLinksWithSameRels() throws IOException {
|
||||||
Map<String, List<Link>> links = this.linkExtractor
|
Map<String, List<Link>> links = this.linkExtractor
|
||||||
.extractLinks(createResponse("multiple-links-same-rels"));
|
.extractLinks(createResponse("multiple-links-same-rels"));
|
||||||
assertLinks(Arrays.asList(new Link("alpha", "http://alpha.example.com/one"),
|
assertLinks(Arrays.asList(new Link("alpha", "https://alpha.example.com/one"),
|
||||||
new Link("alpha", "http://alpha.example.com/two")), links);
|
new Link("alpha", "https://alpha.example.com/two")), links);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"_links": {
|
"_links": {
|
||||||
"alpha": "http://alpha.example.com",
|
"alpha": "https://alpha.example.com",
|
||||||
"bravo": "http://bravo.example.com"
|
"bravo": "https://bravo.example.com"
|
||||||
},
|
},
|
||||||
"_embedded": "embedded-test",
|
"_embedded": "embedded-test",
|
||||||
"beta": "beta-value",
|
"beta": "beta-value",
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"_links": {
|
"_links": {
|
||||||
"alpha": "http://alpha.example.com",
|
"alpha": "https://alpha.example.com",
|
||||||
"bravo": "http://bravo.example.com"
|
"bravo": "https://bravo.example.com"
|
||||||
},
|
},
|
||||||
"beta": "beta-value",
|
"beta": "beta-value",
|
||||||
"charlie": "charlie-value"
|
"charlie": "charlie-value"
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
"links": [ {
|
"links": [ {
|
||||||
"rel": "alpha",
|
"rel": "alpha",
|
||||||
"href": "http://alpha.example.com"
|
"href": "https://alpha.example.com"
|
||||||
}, {
|
}, {
|
||||||
"rel": "bravo",
|
"rel": "bravo",
|
||||||
"href": "http://bravo.example.com"
|
"href": "https://bravo.example.com"
|
||||||
} ]
|
} ]
|
||||||
}
|
}
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
"links": [ {
|
"links": [ {
|
||||||
"rel": "alpha",
|
"rel": "alpha",
|
||||||
"href": "http://alpha.example.com/one"
|
"href": "https://alpha.example.com/one"
|
||||||
}, {
|
}, {
|
||||||
"rel": "alpha",
|
"rel": "alpha",
|
||||||
"href": "http://alpha.example.com/two"
|
"href": "https://alpha.example.com/two"
|
||||||
} ]
|
} ]
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"links": [ {
|
"links": [ {
|
||||||
"rel": "alpha",
|
"rel": "alpha",
|
||||||
"href": "http://alpha.example.com"
|
"href": "https://alpha.example.com"
|
||||||
} ]
|
} ]
|
||||||
}
|
}
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
"links": {
|
"links": {
|
||||||
"alpha": [{
|
"alpha": [{
|
||||||
"href": "http://alpha.example.com/one"
|
"href": "https://alpha.example.com/one"
|
||||||
}, {
|
}, {
|
||||||
"href": "http://alpha.example.com/two"
|
"href": "https://alpha.example.com/two"
|
||||||
}]
|
}]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
{
|
{
|
||||||
"_links": {
|
"_links": {
|
||||||
"alpha": {
|
"alpha": {
|
||||||
"href": "http://alpha.example.com"
|
"href": "https://alpha.example.com"
|
||||||
},
|
},
|
||||||
"bravo": {
|
"bravo": {
|
||||||
"href": "http://bravo.example.com"
|
"href": "https://bravo.example.com"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
"_links": {
|
"_links": {
|
||||||
"alpha": [{
|
"alpha": [{
|
||||||
"href": "http://alpha.example.com/one"
|
"href": "https://alpha.example.com/one"
|
||||||
}, {
|
}, {
|
||||||
"href": "http://alpha.example.com/two"
|
"href": "https://alpha.example.com/two"
|
||||||
}]
|
}]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"_links": {
|
"_links": {
|
||||||
"alpha": {
|
"alpha": {
|
||||||
"href": "http://alpha.example.com"
|
"href": "https://alpha.example.com"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
"_links": [ {
|
"_links": [ {
|
||||||
"rel": "alpha",
|
"rel": "alpha",
|
||||||
"href": "http://alpha.example.com/one"
|
"href": "https://alpha.example.com/one"
|
||||||
}, {
|
}, {
|
||||||
"rel": "alpha",
|
"rel": "alpha",
|
||||||
"href": "http://alpha.example.com/two"
|
"href": "https://alpha.example.com/two"
|
||||||
} ]
|
} ]
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user