Skip to content

Instantly share code, notes, and snippets.

View mkheck's full-sized avatar
💭
Coding, of course!

Mark Heckler mkheck

💭
Coding, of course!
View GitHub Profile
@RepositoryRestResource
interface QuoteRepository extends CrudRepository<Quote, Long> {
@Query("select q from Quote q order by RAND()")
public List<Quote> getQuotesRandomOrder();
}
@mkheck
mkheck / RequestHeaderFilterExample
Created June 8, 2017 15:51
Example of request header filtering by content type in a Spring RestController
@RestController
class MapFilterController {
@GetMapping(value = "/test", headers = "content-type=text/*")
public String getTestText() {
return "This is a test, using text.";
}
@GetMapping(value = "/test", headers = "content-type=application/json")
public Map<String, String> getTestJson() {
>> http :8080/test content-type:text/plain
HTTP/1.1 200
Content-Length: 27
Content-Type: text/plain;charset=UTF-8
Date: Thu, 08 Jun 2017 15:46:30 GMT
X-Application-Context: application
This is a test, using text.
http --json :8080/test
HTTP/1.1 200
Content-Type: application/json;charset=UTF-8
Date: Thu, 08 Jun 2017 15:47:22 GMT
Transfer-Encoding: chunked
X-Application-Context: application
{
"testKey": "testValue"
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>build-info</goal>
</goals>
humbert :: ~ » http :8080
HTTP/1.1 200
Content-Type: application/json;charset=UTF-8
Date: Wed, 21 Jun 2017 07:42:27 GMT
Transfer-Encoding: chunked
{
"myKey": "myValue"
}
humbert :: ~ » http :8080 'Accept:application/xml'
HTTP/1.1 200
Content-Type: application/xml;charset=UTF-8
Date: Wed, 21 Jun 2017 07:42:36 GMT
Transfer-Encoding: chunked
<Map><myKey>myValue</myKey></Map>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
</dependency>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>