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
|
||||
at [contributor-covenant.org/version/1/3/0/][2].
|
||||
|
||||
[1]: http://contributor-covenant.org
|
||||
[2]: http://contributor-covenant.org/version/1/3/0/
|
||||
[1]: https://contributor-covenant.org
|
||||
[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
|
||||
[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]]
|
||||
=== 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
|
||||
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
|
||||
|
||||
| `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
|
||||
|
||||
| `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.
|
||||
{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
|
||||
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.
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
configuration>> can be used to reference the snippets output directory. For example:
|
||||
|
||||
|
||||
@@ -12,8 +12,8 @@ Andy Wilkinson
|
||||
:source: {github}/tree/{branch-or-tag}
|
||||
:samples: {source}/samples
|
||||
: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-framework-docs: http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle
|
||||
:spring-boot-docs: https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle
|
||||
:spring-framework-docs: https://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle
|
||||
|
||||
[[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
|
||||
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.
|
||||
|
||||
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]]
|
||||
=== Resources
|
||||
|
||||
* http://asciidoctor.org/docs/asciidoc-syntax-quick-reference[Syntax quick reference]
|
||||
* http://asciidoctor.org/docs/user-manual[User manual]
|
||||
* https://asciidoctor.org/docs/asciidoc-syntax-quick-reference[Syntax quick reference]
|
||||
* https://asciidoctor.org/docs/user-manual[User manual]
|
||||
|
||||
|
||||
|
||||
[[working-with-asciidoctor-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`
|
||||
attribute specified in the <<getting-started-build-configuration, build configuration>>
|
||||
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
|
||||
|
||||
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:
|
||||
|
||||
[source,adoc,indent=0]
|
||||
@@ -71,5 +71,5 @@ The title of a table can be specified using a line prefixed by a `.`:
|
||||
|
||||
==== 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.
|
||||
@@ -20,7 +20,7 @@ to describe the relationships between resources and to allow navigation between
|
||||
|
||||
[getting-started-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.
|
||||
|
||||
The first step is to clone the Git repository:
|
||||
|
||||
@@ -125,7 +125,7 @@ public class ApiDocumentation {
|
||||
this.noteRepository.deleteAll();
|
||||
|
||||
createNote("REST maturity model",
|
||||
"http://martinfowler.com/articles/richardsonMaturityModel.html");
|
||||
"https://martinfowler.com/articles/richardsonMaturityModel.html");
|
||||
createNote("Hypertext Application Language (HAL)",
|
||||
"http://stateless.co/hal_specification.html");
|
||||
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>();
|
||||
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));
|
||||
|
||||
this.mockMvc.perform(
|
||||
@@ -179,7 +179,7 @@ public class ApiDocumentation {
|
||||
|
||||
Map<String, Object> note = new HashMap<String, Object>();
|
||||
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));
|
||||
|
||||
String noteLocation = this.mockMvc
|
||||
@@ -239,7 +239,7 @@ public class ApiDocumentation {
|
||||
public void noteUpdateExample() throws Exception {
|
||||
Map<String, Object> note = new HashMap<String, Object>();
|
||||
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
|
||||
.perform(
|
||||
|
||||
@@ -20,7 +20,7 @@ to describe the relationships between resources and to allow navigation between
|
||||
|
||||
[getting-started-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.
|
||||
|
||||
The first step is to clone the Git repository:
|
||||
|
||||
@@ -151,7 +151,7 @@ public class ApiDocumentation {
|
||||
this.noteRepository.deleteAll();
|
||||
|
||||
createNote("REST maturity model",
|
||||
"http://martinfowler.com/articles/richardsonMaturityModel.html");
|
||||
"https://martinfowler.com/articles/richardsonMaturityModel.html");
|
||||
createNote("Hypertext Application Language (HAL)",
|
||||
"http://stateless.co/hal_specification.html");
|
||||
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>();
|
||||
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));
|
||||
|
||||
ConstrainedFields fields = new ConstrainedFields(NoteInput.class);
|
||||
@@ -209,7 +209,7 @@ public class ApiDocumentation {
|
||||
|
||||
Map<String, Object> note = new HashMap<String, Object>();
|
||||
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));
|
||||
|
||||
String noteLocation = this.mockMvc
|
||||
@@ -275,7 +275,7 @@ public class ApiDocumentation {
|
||||
public void noteUpdateExample() throws Exception {
|
||||
Map<String, Object> note = new HashMap<String, Object>();
|
||||
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
|
||||
.perform(
|
||||
|
||||
@@ -146,7 +146,7 @@ public abstract class HypermediaDocumentation {
|
||||
* {
|
||||
* "_links": {
|
||||
* "self": {
|
||||
* "href": "http://example.com/foo"
|
||||
* "href": "https://example.com/foo"
|
||||
* }
|
||||
* }
|
||||
* }
|
||||
@@ -167,7 +167,7 @@ public abstract class HypermediaDocumentation {
|
||||
* "links": [
|
||||
* {
|
||||
* "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 {
|
||||
Transformer transformer = TransformerFactory.newInstance().newTransformer();
|
||||
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
|
||||
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount",
|
||||
transformer.setOutputProperty("{https://xml.apache.org/xslt}indent-amount",
|
||||
"4");
|
||||
transformer.setOutputProperty(OutputKeys.DOCTYPE_PUBLIC, "yes");
|
||||
ByteArrayOutputStream transformed = new ByteArrayOutputStream();
|
||||
|
||||
@@ -68,23 +68,23 @@ public class LinkExtractorsPayloadTests {
|
||||
public void singleLink() throws IOException {
|
||||
Map<String, List<Link>> links = this.linkExtractor
|
||||
.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
|
||||
public void multipleLinksWithDifferentRels() throws IOException {
|
||||
Map<String, List<Link>> links = this.linkExtractor
|
||||
.extractLinks(createResponse("multiple-links-different-rels"));
|
||||
assertLinks(Arrays.asList(new Link("alpha", "http://alpha.example.com"),
|
||||
new Link("bravo", "http://bravo.example.com")), links);
|
||||
assertLinks(Arrays.asList(new Link("alpha", "https://alpha.example.com"),
|
||||
new Link("bravo", "https://bravo.example.com")), links);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void multipleLinksWithSameRels() throws IOException {
|
||||
Map<String, List<Link>> links = this.linkExtractor
|
||||
.extractLinks(createResponse("multiple-links-same-rels"));
|
||||
assertLinks(Arrays.asList(new Link("alpha", "http://alpha.example.com/one"),
|
||||
new Link("alpha", "http://alpha.example.com/two")), links);
|
||||
assertLinks(Arrays.asList(new Link("alpha", "https://alpha.example.com/one"),
|
||||
new Link("alpha", "https://alpha.example.com/two")), links);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"_links": {
|
||||
"alpha": "http://alpha.example.com",
|
||||
"bravo": "http://bravo.example.com"
|
||||
"alpha": "https://alpha.example.com",
|
||||
"bravo": "https://bravo.example.com"
|
||||
},
|
||||
"_embedded": "embedded-test",
|
||||
"beta": "beta-value",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"_links": {
|
||||
"alpha": "http://alpha.example.com",
|
||||
"bravo": "http://bravo.example.com"
|
||||
"alpha": "https://alpha.example.com",
|
||||
"bravo": "https://bravo.example.com"
|
||||
},
|
||||
"beta": "beta-value",
|
||||
"charlie": "charlie-value"
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"links": [ {
|
||||
"rel": "alpha",
|
||||
"href": "http://alpha.example.com"
|
||||
"href": "https://alpha.example.com"
|
||||
}, {
|
||||
"rel": "bravo",
|
||||
"href": "http://bravo.example.com"
|
||||
"href": "https://bravo.example.com"
|
||||
} ]
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"links": [ {
|
||||
"rel": "alpha",
|
||||
"href": "http://alpha.example.com/one"
|
||||
"href": "https://alpha.example.com/one"
|
||||
}, {
|
||||
"rel": "alpha",
|
||||
"href": "http://alpha.example.com/two"
|
||||
"href": "https://alpha.example.com/two"
|
||||
} ]
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"links": [ {
|
||||
"rel": "alpha",
|
||||
"href": "http://alpha.example.com"
|
||||
"href": "https://alpha.example.com"
|
||||
} ]
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"links": {
|
||||
"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": {
|
||||
"alpha": {
|
||||
"href": "http://alpha.example.com"
|
||||
"href": "https://alpha.example.com"
|
||||
},
|
||||
"bravo": {
|
||||
"href": "http://bravo.example.com"
|
||||
"href": "https://bravo.example.com"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"_links": {
|
||||
"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": {
|
||||
"alpha": {
|
||||
"href": "http://alpha.example.com"
|
||||
"href": "https://alpha.example.com"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"_links": [ {
|
||||
"rel": "alpha",
|
||||
"href": "http://alpha.example.com/one"
|
||||
"href": "https://alpha.example.com/one"
|
||||
}, {
|
||||
"rel": "alpha",
|
||||
"href": "http://alpha.example.com/two"
|
||||
"href": "https://alpha.example.com/two"
|
||||
} ]
|
||||
}
|
||||
Reference in New Issue
Block a user