Comments (3)
Hi, @Arkady-Dymkov
You can find documentation/examples about HTTP module here. There are also examples for using RoutingServlet
.
To wrap a response into a custom response you can create an AsyncServlet
which wraps another AsyncServlet
and then customize the response. You can add a custom exception handler the same way:
AsyncServlet mainServlet = createMainServlet();
AsyncServlet exceptionHandlingServlet = request ->
mainServlet.serveAsync(request)
.map((httpResponse, e) -> {
if (e != null) {
// do something with exception or return a different response
return HttpResponse.ofCode(400).withPlainText("Bad request");
}
return httpResponse;
});
from activej.
- You can see example about error handler at my repo: https://github.com/anboo44/activej-real-world-example/blob/master/src/main/java/com/uet/example/api/ServletCenter.java
- Wrap response to custom type:
- Define common method in baseController: https://github.com/anboo44/activej-real-world-example/blob/feature/test-hibernate/src/main/java/com/uet/example/api/controller/BaseController.java
- Use method
success
at controller to wrap response:
public Promise<HttpResponse> list(HttpRequest request) {
return userRepository.getAll().map(
records -> records.stream().map(UserDTO::apply).toList()
).map(this::success);
}
Or: Add custom response at route config
from activej.
Thank you! I'll close an issue)
from activej.
Related Issues (20)
- Constructor not found error for classes without zero-argument constructor, like BigDecimal, Calendar. HOT 1
- Binding automatically between inteface and implementation in DI HOT 2
- Make HTTPResponse's primary response code non-final HOT 4
- Websocket Accept/WriteFrame/WriteMessage not processing more than 2 writes HOT 9
- Suggestion - Nightly Snapshots? HOT 1
- Serializer sometimes decodes a wrong class for RPC request HOT 7
- Any sample to declare local varible? HOT 2
- Happen error while uploading file HOT 2
- Release plan for v5.5 and v6 HOT 3
- Add Query Parameters? HOT 6
- RPCClient lock port on local HOT 1
- Version 6 does not support ipv6, version 5.5 supported ipv6 HOT 2
- Make classes Public to facilitate mocking. HOT 1
- RpcClient receive unexpected EOS HOT 2
- RpcClient cannot setup connection
- RpcServer serializer is wrong HOT 4
- Happen error with Serializer in native app HOT 2
- sorry a local problem
- How to hook the end of the HttpResponse so I can clean up some buffers? HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from activej.