Merge branch '1.0.x' into 1.1.x

This commit is contained in:
Andy Wilkinson
2019-03-26 10:53:52 +00:00
24 changed files with 67 additions and 67 deletions

View File

@@ -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/

View File

@@ -61,4 +61,4 @@ The project can then be imported into Eclipse using `File -> Import…` and then
[1]: CODE_OF_CONDUCT.md
[2]: https://cla.pivotal.io/sign/spring
[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

View File

@@ -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.

View File

@@ -765,7 +765,7 @@ A number of snippets are produced automatically when you document a request and
|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
| `httpie-request.adoc`

View File

@@ -430,7 +430,7 @@ the resulting HTML files depends on whether you are using Maven or Gradle:
The generated snippets can then be included in the manually created Asciidoctor file from
above 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:

View File

@@ -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]]

View File

@@ -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] by default. Asciidoctor processes plain text and
https://asciidoctor.org[Asciidoctor] by default. Asciidoctor processes plain text and
produces HTML, styled and layed out to suit your needs. If you prefer, Spring REST Docs
can also be configured to use Markdown.

View File

@@ -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,indent=0]
@@ -89,5 +89,5 @@ in a cell that contains the value of a `description` attribute:
==== 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.

View File

@@ -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:

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2014-2015 the original author or authors.
* Copyright 2014-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -125,10 +125,10 @@ 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/");
"https://github.com/mikekelly/hal_specification");
createNote("Application-Level Profile Semantics (ALPS)", "https://github.com/alps-io/spec");
this.mockMvc.perform(get("/notes"))
.andExpect(status().isOk())
@@ -155,7 +155,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(
@@ -183,7 +183,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
@@ -249,7 +249,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(

View File

@@ -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:

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2014-2016 the original author or authors.
* Copyright 2014-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -68,11 +68,11 @@ import com.fasterxml.jackson.databind.ObjectMapper;
@SpringApplicationConfiguration(classes = RestNotesSpringHateoas.class)
@WebAppConfiguration
public class ApiDocumentation {
@Rule
public final JUnitRestDocumentation restDocumentation = new JUnitRestDocumentation("build/generated-snippets");
private RestDocumentationResultHandler documentationHandler;
private RestDocumentationResultHandler documentationHandler;
@Autowired
private NoteRepository noteRepository;
@@ -93,13 +93,13 @@ public class ApiDocumentation {
this.documentationHandler = document("{method-name}",
preprocessRequest(prettyPrint()),
preprocessResponse(prettyPrint()));
this.mockMvc = MockMvcBuilders.webAppContextSetup(this.context)
.apply(documentationConfiguration(this.restDocumentation))
.alwaysDo(this.documentationHandler)
.build();
}
@Test
public void headersExample() throws Exception {
this.mockMvc
@@ -147,10 +147,10 @@ public class ApiDocumentation {
public void notesListExample() throws Exception {
this.noteRepository.deleteAll();
createNote("REST maturity model", "http://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/");
createNote("REST maturity model", "https://martinfowler.com/articles/richardsonMaturityModel.html");
createNote("Hypertext Application Language (HAL)", "https://github.com/mikekelly/hal_specification");
createNote("Application-Level Profile Semantics (ALPS)", "https://github.com/alps-io/spec");
this.mockMvc
.perform(get("/notes"))
.andExpect(status().isOk())
@@ -173,11 +173,11 @@ 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);
this.mockMvc
.perform(post("/notes")
.contentType(MediaTypes.HAL_JSON)
@@ -205,7 +205,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
@@ -214,7 +214,7 @@ public class ApiDocumentation {
.content(this.objectMapper.writeValueAsString(note)))
.andExpect(status().isCreated())
.andReturn().getResponse().getHeader("Location");
this.mockMvc
.perform(get(noteLocation))
.andExpect(status().isOk())
@@ -241,7 +241,7 @@ public class ApiDocumentation {
createTag("REST");
createTag("Hypermedia");
createTag("HTTP");
this.mockMvc
.perform(get("/tags"))
.andExpect(status().isOk())
@@ -256,7 +256,7 @@ public class ApiDocumentation {
tag.put("name", "REST");
ConstrainedFields fields = new ConstrainedFields(TagInput.class);
this.mockMvc
.perform(post("/tags")
.contentType(MediaTypes.HAL_JSON)
@@ -271,7 +271,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(post("/notes")
@@ -363,7 +363,7 @@ public class ApiDocumentation {
tagUpdate.put("name", "RESTful");
ConstrainedFields fields = new ConstrainedFields(TagPatchInput.class);
this.mockMvc
.perform(patch(tagLocation)
.contentType(MediaTypes.HAL_JSON)

View File

@@ -440,7 +440,7 @@ public abstract class HypermediaDocumentation {
* {
* "_links": {
* "self": {
* "href": "http://example.com/foo"
* "href": "https://example.com/foo"
* }
* }
* }
@@ -461,7 +461,7 @@ public abstract class HypermediaDocumentation {
* "links": [
* {
* "rel": "self",
* "href": "http://example.com/foo"
* "href": "https://example.com/foo"
* }
* ]
* }

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2014-2016 the original author or authors.
* Copyright 2014-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -68,7 +68,7 @@ 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", "Alpha")),
assertLinks(Arrays.asList(new Link("alpha", "https://alpha.example.com", "Alpha")),
links);
}
@@ -76,8 +76,8 @@ public class LinkExtractorsPayloadTests {
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", "Alpha"),
new Link("bravo", "http://bravo.example.com")), links);
assertLinks(Arrays.asList(new Link("alpha", "https://alpha.example.com", "Alpha"),
new Link("bravo", "https://bravo.example.com")), links);
}
@Test
@@ -85,8 +85,8 @@ public class LinkExtractorsPayloadTests {
Map<String, List<Link>> links = this.linkExtractor
.extractLinks(createResponse("multiple-links-same-rels"));
assertLinks(Arrays.asList(
new Link("alpha", "http://alpha.example.com/one", "Alpha one"),
new Link("alpha", "http://alpha.example.com/two")), links);
new Link("alpha", "https://alpha.example.com/one", "Alpha one"),
new Link("alpha", "https://alpha.example.com/two")), links);
}
@Test

View File

@@ -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",

View File

@@ -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"

View File

@@ -1,10 +1,10 @@
{
"links": [ {
"rel": "alpha",
"href": "http://alpha.example.com",
"href": "https://alpha.example.com",
"title": "Alpha"
}, {
"rel": "bravo",
"href": "http://bravo.example.com"
"href": "https://bravo.example.com"
} ]
}

View File

@@ -1,10 +1,10 @@
{
"links": [ {
"rel": "alpha",
"href": "http://alpha.example.com/one",
"href": "https://alpha.example.com/one",
"title": "Alpha one"
}, {
"rel": "alpha",
"href": "http://alpha.example.com/two"
"href": "https://alpha.example.com/two"
} ]
}

View File

@@ -1,7 +1,7 @@
{
"links": [ {
"rel": "alpha",
"href": "http://alpha.example.com",
"href": "https://alpha.example.com",
"title": "Alpha"
} ]
}

View File

@@ -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"
}]
}
}

View File

@@ -1,11 +1,11 @@
{
"_links": {
"alpha": {
"href": "http://alpha.example.com",
"href": "https://alpha.example.com",
"title": "Alpha"
},
"bravo": {
"href": "http://bravo.example.com"
"href": "https://bravo.example.com"
}
}
}

View File

@@ -1,10 +1,10 @@
{
"_links": {
"alpha": [{
"href": "http://alpha.example.com/one",
"href": "https://alpha.example.com/one",
"title": "Alpha one"
}, {
"href": "http://alpha.example.com/two"
"href": "https://alpha.example.com/two"
}]
}
}

View File

@@ -1,7 +1,7 @@
{
"_links": {
"alpha": {
"href": "http://alpha.example.com",
"href": "https://alpha.example.com",
"title": "Alpha"
}
}

View File

@@ -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"
} ]
}