mirror of
https://github.com/Biarity/Sieve.git
synced 2024-11-22 05:22:57 +01:00
Merge branch 'master' of https://github.com/Biarity/Sieve
This commit is contained in:
commit
6d3fedf9f5
24
README.md
24
README.md
@ -100,15 +100,6 @@ public class SieveCustomFilterMethods : ISieveCustomFilterMethods
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## Handle Sieve's exceptions
|
|
||||||
|
|
||||||
Sieve can throw 2 kinds of custom exceptions:
|
|
||||||
|
|
||||||
* `SieveMethodNotFoundException` with a `MethodName`
|
|
||||||
* `SieveIncompatibleMethodException` with a `MethodName`, an `ExpectedType` and an `ActualType`
|
|
||||||
|
|
||||||
It is recommended that you write exception-handling middleware to globally handle Sieve's exceptions when using it with ASP.NET Core.
|
|
||||||
|
|
||||||
## Configure Sieve
|
## Configure Sieve
|
||||||
Use the [ASP.NET Core options pattern](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/options) with `SieveOptions` to tell Sieve where to look for configuration. For example:
|
Use the [ASP.NET Core options pattern](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/options) with `SieveOptions` to tell Sieve where to look for configuration. For example:
|
||||||
```
|
```
|
||||||
@ -119,11 +110,21 @@ Then you can add the configuration:
|
|||||||
{
|
{
|
||||||
"Sieve": {
|
"Sieve": {
|
||||||
"CaseSensitive": `boolean: should property names be case-sensitive? Defaults to false`,
|
"CaseSensitive": `boolean: should property names be case-sensitive? Defaults to false`,
|
||||||
"DefaultPageSize": `number: optional number to fallback to when no page argument is given`
|
"DefaultPageSize": `number: optional number to fallback to when no page argument is given. Set <=0 to disable paging if no pageSize is specified (default).`,
|
||||||
|
"ThrowExceptions": `boolean: should Sieve throw exceptions instead of silently failing? Defaults to false`
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Handle Sieve's exceptions
|
||||||
|
|
||||||
|
Sieve will silently fail unless `ThrowExceptions` in the configuration is set to true. 2 kinds of custom exceptions can be thrown:
|
||||||
|
|
||||||
|
* `SieveMethodNotFoundException` with a `MethodName`
|
||||||
|
* `SieveIncompatibleMethodException` with a `MethodName`, an `ExpectedType` and an `ActualType`
|
||||||
|
|
||||||
|
It is recommended that you write exception-handling middleware to globally handle Sieve's exceptions when using it with ASP.NET Core.
|
||||||
|
|
||||||
## Send a request
|
## Send a request
|
||||||
|
|
||||||
With all the above in place, you can now send a GET request that includes a sort/filter/page query.
|
With all the above in place, you can now send a GET request that includes a sort/filter/page query.
|
||||||
@ -149,7 +150,8 @@ More formally:
|
|||||||
Notes:
|
Notes:
|
||||||
* Don't forget to remove commas from any `{Value}` fields
|
* Don't forget to remove commas from any `{Value}` fields
|
||||||
* You can have spaces anywhere except *within* `{Name}` or `{Operator}` fields
|
* You can have spaces anywhere except *within* `{Name}` or `{Operator}` fields
|
||||||
* Here's a [good example on how to work with arrays](https://github.com/Biarity/Sieve/issues/2)
|
* Here's a [good example on how to work with enumerables](https://github.com/Biarity/Sieve/issues/2)
|
||||||
|
* Another example on [how to do OR logic](https://github.com/Biarity/Sieve/issues/8)
|
||||||
|
|
||||||
### Creating your own DSL
|
### Creating your own DSL
|
||||||
You can replace this DSL with your own (eg. use JSON instead) by implementing an [ISieveModel](https://github.com/Biarity/Sieve/blob/master/Sieve/Models/ISieveModel.cs). You can use the default [SieveModel](https://github.com/Biarity/Sieve/blob/master/Sieve/Models/SieveModel.cs) for reference.
|
You can replace this DSL with your own (eg. use JSON instead) by implementing an [ISieveModel](https://github.com/Biarity/Sieve/blob/master/Sieve/Models/ISieveModel.cs). You can use the default [SieveModel](https://github.com/Biarity/Sieve/blob/master/Sieve/Models/SieveModel.cs) for reference.
|
||||||
|
Loading…
Reference in New Issue
Block a user