为了支持application/json
和multipart/form-data
在同一个 URL 上,我想检查“Content-Type”标头并选择一个合适的Data<T>
类型来提交.data
给App::new
.
如果我取消注释该.guard
行,则将curl -X POST -H "Content-Type: multipart/form-data" -F files=\"qqq\" localhost:8080/upload
被删除。但如果没有这.guard
条线,一切都会按预期进行。怎么了?
HttpServer::new(move || {
App::new()
.service(resource("/upload")
// .guard(actix_web::guard::Header("Content-Type", "multipart/form-data"))
.data(form.clone())
.route(post()
.to(upload_multipart)
)
)
})
如何在一个 App 实例中正确加入它们?