【发布时间】:2021-07-26 07:57:09
【问题描述】:
按照 Micronaut 数据库访问工具包的指南,我有以下类来创建一个新的 Uploader 实体。
上传控制器
@Post
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public UploaderCreatedResponse createUploader(@Body CreateUploaderRequest request) throws UploaderNotFoundException {
System.out.println("request");
System.out.println(request);
System.out.println(request.getUploader());
return new UploaderCreatedResponse(true, uploaderService.createNewUploader(request.getUploader()));
}
创建上传请求
package com.digithurst.adminui.controller.requests;
import com.digithurst.adminui.controller.requests.dto.UploaderCreateDTO;
import java.io.Serializable;
public class CreateUploaderRequest implements Serializable {
private UploaderCreateDTO uploader;
public CreateUploaderRequest() {
}
public CreateUploaderRequest(UploaderCreateDTO uploader) {
this.uploader = uploader;
}
public UploaderCreateDTO getUploader() {
return uploader;
}
public void setUploader(UploaderCreateDTO uploader) {
this.uploader = uploader;
}
}
上传者创建DTO
package com.digithurst.adminui.controller.requests.dto;
public class UploaderCreateDTO {
private String api_key;
private String name;
private String description;
private int retention;
public UploaderCreateDTO() {
}
public UploaderCreateDTO(String api_key, String name, String description, int retention) {
this.api_key = api_key;
this.name = name;
this.description = description;
this.retention = retention;
}
public String getApi_key() {
return api_key;
}
public void setApi_key(String api_key) {
this.api_key = api_key;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public int getRetention() {
return retention;
}
public void setRetention(int retention) {
this.retention = retention;
}
}
当我使用所有参数向服务器发出 POST 请求时,不会启动 DTO 类。我错过了什么吗?
输出:
com.something.adminui.controller.requests.CreateUploaderRequest@6f485905
空
【问题讨论】:
-
您能否更新您的问题并显示完整的 POST 正文而不是未显示关键部分的屏幕截图?
-
一切都在那里。你还需要什么?
-
我没有看到 json 正文的开头和结尾。我认为应该是 { "uploader" : {...}}
-
你是对的。请作为答案发布,以便我接受它
标签: java dto micronaut micronaut-data