Add README files to samples

This commit is contained in:
Rossen Stoyanchev
2021-07-06 15:35:23 +01:00
parent 08d49a848e
commit aea229778c
5 changed files with 43 additions and 0 deletions

11
samples/README.md Normal file
View File

@@ -0,0 +1,11 @@
This directory contains samples that we run to test different scenarios and features.
All samples use the Boot starter and expose a GraphiQL page where you can run queries. Simply start the `main` application class and go to http://localhost:8080/graphiql.
To run from the command line, use:
```shell script
$ ./gradlew :samples:{sample-directory-name}:bootRun
```
Samples have integration tests you can run with a debugger.

View File

@@ -0,0 +1,8 @@
Sample with Spring Security in a WebFlux application.
Main features:
- Spring Security [config](src/main/java/io/spring/sample/graphql/SecurityConfig.java) secures GraphQL HTTP endpoint.
- Fine-grained, method-level security on [SalaryService](src/main/java/io/spring/sample/graphql/SalaryService.java).
- `AuthenticationException` and `AccessDeniedException` [resolved](src/main/java/io/spring/sample/graphql/SecurityDataFetcherExceptionResolver.java) to GraphQL errors.
- [Tests](src/test/java/io/spring/sample/graphql/SampleApplicationTests.java) with `WebGraphQlTester` and WebFlux without a server.

View File

@@ -0,0 +1,7 @@
Sample with GraphQL over WebSocket in a WebFlux application.
Main features:
- Reactive [DataFetcher's](src/main/java/io/spring/sample/graphql/SampleWiring.java), including subscription stream.
- [WebFilter](src/main/java/io/spring/sample/graphql/ContextWebFilter.java) that inserts Reactor `Context` that is then accessed in the [DataRepository](src/main/java/io/spring/sample/graphql/DataRepository.java).
- [Tests](src/test/java/io/spring/sample/graphql/SubscriptionTests.java) for subscription streams.

View File

@@ -0,0 +1,8 @@
Sample with Spring Security in a Spring MVC application.
Main features:
- Spring Security [config](src/main/java/io/spring/sample/graphql/SecurityConfig.java) secures GraphQL HTTP endpoint.
- Fine-grained, method-level security on [SalaryService](src/main/java/io/spring/sample/graphql/SalaryService.java).
- `AuthenticationException` and `AccessDeniedException` [resolved](src/test/java/io/spring/sample/graphql/SampleApplicationTests.java) to GraphQL errors.
- [Tests](src/test/java/io/spring/sample/graphql/SampleApplicationTests.java) with `WebGraphQlTester` and WebFlux without a server.

View File

@@ -0,0 +1,9 @@
Sample with a GraphQL HTTP endpoint in Spring MVC.
Main features:
- Spring HATEOAS [DataFetcher's](src/main/java/io/spring/sample/graphql/project/ProjectDataWiring.java) that call spring.io REST API.
- Querydsl [DataFetcher's](src/main/java/io/spring/sample/graphql/repository/ArtifactRepositoryDataWiring.java) making JPA queries.
- Use of [ThreadLocalAccessor](src/main/java/io/spring/sample/graphql/greeting/RequestAttributesAccessor.java) to propagate context to data fetchers.
- Schema printing enabled at "/graphql/schema".
- [Tests](src/test/java/io/spring/sample/graphql/project/MockMvcGraphQlTests.java) with `GraphQlTester` and MockMvc.