Skip to content

Instantly share code, notes, and snippets.

@espendennis
espendennis / OfferApiDocumentation.java
Created October 17, 2016 15:01
First documentation
@Test
public void postOffer() throws Exception {
Offer newOffer = new Offer("Innsbruck", "Lindau", "admin", "2016-10-10T09:50", 40);
String json = mapper.writeValueAsString(newOffer);
mockMvc.perform(post("/api/offers").contentType(MediaType.APPLICATION_JSON_UTF8).content(json))
.andExpect(status().isCreated())
.andDo(document("index"));
}
package com.espen.documentation;
import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.documentationConfiguration;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.document;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@espendennis
espendennis / OfferApiDocumentation.java
Created October 17, 2016 14:56
First tests for the OffersApi
package com.espen.documentation;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.web.context.WebApplicationContext;
import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.document;
@espendennis
espendennis / pom.xml
Created October 17, 2016 14:50
prepare-package setting
<phase>prepare-package</phase>
@espendennis
espendennis / OfferController.java
Created October 17, 2016 14:14
REST-Controller for Offers
package com.espen.ws.web.api;
import java.io.IOException;
import java.util.Collection;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;

/api/offers Getting Started Guide

package com.espen.documentation;
import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.documentationConfiguration;
import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.delete;
import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.get;
import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.put;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
@espendennis
espendennis / request-fields.snippet
Created October 17, 2016 13:52
Costume request-fields.snippet
|===
|Path|Type|Description|Constraints
{{#fields}}
|{{path}}
|{{type}}
|{{description}}
|{{constraints}}
{{/fields}}
@espendennis
espendennis / OfferApiDocumentation.class
Created October 17, 2016 13:46
updated FieldDescriptor
FieldDescriptor[] offer = new FieldDescriptor[] {
fields.withPath("id").description("identifier"),
fields.withPath("destination").description("The trips' destination"),
fields.withPath("startingPoint").description("The trips' startingPoint"),
fields.withPath("username").description("The user who has created the offer"),
fields.withPath("date").description("The trip's starting time formatted"),
fields.withPath("price").description("The price per person"),
fields.withPath("dateObject").description("The trip's starting time as milliseconds") };