Mein Backend-Code ist diesem question sehr ähnlich.Vertex FileUpload Unit Test
Router router = Router.router(vertx);
router.route().handler(BodyHandler.create().setDeleteUploadedFilesOnEnd(true));
router.route("/api/*")
.produces(Constants.JSON_CONTENT_TYPE)
.failureHandler(rc -> {
// handling failure code
});
router.post("/api/upload").handler(uploadHandler::uploadHandler);
vertx.createHttpServer(httpOptions)
.requestHandler(router::accept) // The router::accept, method passes all routes defined in Router.
.listen(// do things);
class UploadHandler() {
void uploadHandler(RoutingContext context) {
uploads.forEach(// do things);
}
}
Ich habe mit Postbote die Methoden zu testen. Es funktioniert perfekt.
In Postbote, wähle ich POST, keine Header, form-data als Körper, und wählen Dateien anstelle von Text-Dateien zu laden.
Ich checkte im Server ein, dass Postbote die content-type automatisch einschließen.
Ich gehe davon aus, dass dies ein guter Ansatz ist. Bitte lassen Sie mich wissen, ob es einen besseren Ansatz gibt.
Mein Problem ist bei Unit-Tests. Ich habe den Code ähnlich verwendet. https://github.com/vert-x/vertx-examples/blob/master/src/raw/java/upload/UploadClient.java
Es gibt andere Schnipsel, die ähnliche Dinge tun. Aber der Server sagt immer, dass keine Dateien angehängt sind.
Was ist eine gute Möglichkeit, eine Datei an den Server zu senden?
Hallo, Danke für die Antwort. Ich habe diesen Code ausprobiert. Der Server sagt immer noch, dass er keine Datei empfängt. Ich fange an, meinen Servercode zu bezweifeln. Aber Postman konnte Dateien senden. – william