当前位置: 首页 > 知识库问答 >
问题:

具有MultiPartFile属性的Restful POST API DTO的Spring Boot测试

公孙森
2023-03-14

我有一个Spring Boot应用程序,它有一个RestController,使用以下POST方法:

@PostMapping(path = "/add", headers = {"content-type=multipart/form-data; charset=utf-8"})
    public ResponseEntity<UserWebDTO> addUser(@RequestHeader HttpHeaders headers, @ModelAttribute UserAddDTO userAddDTO) throws Exception {
        return new ResponseEntity<>(userService.addUser(userAddDTO), HttpStatus.CREATED);
    }
public class UserAddDTO {

private String first_name;

private String last_name;

private String country_code;

private String phone_number;

private GenderEnum gender;

private String birthdate;

private MultipartFile avatar;

private String email;

com.fasterxml.jackson.databind.exc.InvalidDefinitionException:找不到类java.io.ByteArrayInputStream的序列化程序,也找不到创建BeanSerializer的属性(为避免异常,禁用SerializationFeature.fail_on_empty_Beans)(通过引用链:com.user.basic.authentication.dtos.UserAddDto[“avatar”]->org.springframework.mock.web.mockMultiPartFile[“InputStream”])

感谢任何帮助。

谢谢!

共有1个答案

微生信鸿
2023-03-14

我相信您需要实现可序列化的

public class UserAddDTO implements Serializable {
private static final long serialVersionUID = 1L;

private String first_name;

private String last_name;

private String country_code;

private String phone_number;

private GenderEnum gender;

private String birthdate;

private MultipartFile avatar;

private String email;

}

 类似资料:
  • 我正在学习JUnit5和测试用例。我使用的是spring boot version'2.2.6.Release和JUnit5,在我的应用程序中,我有一个基于属性文件中的布尔标志进行处理的方法。 \src\main\resources\application.properties 数据库连接属性用于创建数据库连接 ControllerTest.java 默认情况下,该标志为false,因此每次测试用

  • 我想知道是否有什么方法可以使属性值动态。类似于这样: 感谢您的反馈。在我的例子中,属性值是系统特定的,应该在测试运行时生成。

  • 问题内容: 考虑: 有没有办法使这种简单枚举的思想适应这种情况?(请参阅此问题)理想情况下,就像在Java中一样,我想将它们全部塞入一个类中。 Java模型: 问题答案: Python 3.4具有新的Enum数据类型(已反向移植为,并增强为1)。无论和2轻松支持您的使用情况: [ py2 / 3] [ py2 / 3或3.4+] 并在使用中: 1披露:我是Python stdlib ,backpo

  • 使用Springboot 2.5.7和捆绑的Junit5(通过spring boot starter测试),我试图通过定制的标准注释测试我在整个bean中设置的约束。 我找到的大多数留档都是关于jit4的,我找不到一种方法让它在springboot5中工作。 另外,我有点困惑,因为在理想情况下,我想测试每个约束的containt,并且只找到关于如何全局测试它的文档(使用junit4)。 有人已经摆

  • 我已经在stackoverflow和网络上寻找解决方案。我没有见过有效的解决方案,因为可能没有一个帖子完全符合我的用例,它包含文件中的列表和对象结构。 这里有一个例子作为yaml 这是与属性文件相同的示例 我希望能够向我的应用程序提供 teddy.yml 或 teddy.properties 文件以进行配置。 这是我的课程: 我已经尝试了这种设置,使用环境来尝试访问属性,删除前缀,声明一个“Pro