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

Contenty-type中的边界被FormHttpMessageConverter覆盖

栾烨华
2023-03-14

我正在Spring框架中使用FormHttpMessageConverter。为了通过restTemplate发送文件,我在项目中添加了FormHttpMessageConverter。

https://github.com/spring-projects/spring-framework/blob/5f4d1a4628513ab34098fa3f92ba03aa20fc4204/spring-web/src/main/java/org/springframework/http/converter/formhttpmessageconverter.java#l336

我找不到避免这个问题的方法,所以我在链接处复制了那个代码,并制作了一个文件“xxxFormHttpMessageConverter”,修改了方法“WriteMultiPart”。

有人知道如何避免这种覆盖吗?

共有1个答案

司寇羽
2023-03-14

在Spring Boot中,您可以通过创建一个新的HttpMessageConverter bean来定制边界。而Spring boot将自动替换旧的。代码如下所示:

@Configuration
public class CustomerHttpMessageConverter {

    public static final String MY_BOUNDARY = "XXXXXXXX";

    @Bean
    public HttpMessageConverter<MultiValueMap<String, ?>> createCustomerFormHttpMessageConverter() {
        return new CustomerFormHttpMessageConverter();
    }

    static class CustomerFormHttpMessageConverter extends FormHttpMessageConverter {
        @Override
        protected byte[] generateMultipartBoundary() {
            return MY_BOUNDARY.getBytes(Charset.forName("UTF-8"));
        }
    }
}

你可以在这里找到更多的信息。

 类似资料:
  • 问题内容: 我有以下CSS: 添加边框半径:5px似乎没有任何作用,我认为这是因为我使用的是边框渐变,我是否有办法完全实现所需的5px边框半径? 问题答案: You cannot use with gradient. Here is another idea where you can rely on multiple background and adjust the : 如果需要透明性,可以考

  • 所以我对Python、PyGame和任何编程都是全新的。我遵循了在PyGame中制作蛇游戏的教程。现在一切都结束了,但为了给自己一个挑战,我正试图改变一下比赛。首先我想添加边界,但我真的迷路了。我试过看其他教程,但它们的图像似乎有所不同。这是我的代码(因为我不知道什么可以帮助你帮助我,所以我把它全部发送了): 基本上,我希望当我的蛇撞到边界时发生的事情和它撞到自己时发生的事情是一样的。如果你能帮助

  • 词边界 \b 是一种检查,就像 ^ 和 $ 一样。 当正则表达式引擎(实现搜索正则表达式的程序模块)遇到 \b 时,它会检查字符串中的位置是否是词边界。 有三种不同的位置可作为词边界: 在字符串开头,如果第一个字符是单词字符 \w。 在字符串中的两个字符之间,其中一个是单词字符 \w,另一个不是。 在字符串末尾,如果最后一个字符是单词字符 \w。 例如,可以在 Hello, Java! 中找到匹配

  • 问题内容: 关于如何创建事件绑定的任何建议,例如,允许用户用鼠标拖动无边界的窗口。用?创建的窗口 用例:我们想创建一个浮动的工具栏/调色板窗口(无边框),供用户在桌面上拖动。 这就是我的想法(伪代码): 捕获鼠标的初始位置。 跟踪鼠标一旦开始移动的位置。 计算多少鼠标在移动和计算,位置。 使用到移动窗口。 Tkinter是否提供足够的功能以允许我执行手头的任务?还是有更容易/更高层次的方法来实现我

  • 问题内容: 两种方法中的哪一种符合W3C标准?它们在浏览器中的表现均符合预期吗? 边界:无; 边界:0; 问题答案: 两者均有效。 这是你的选择。 我喜欢,因为它更短。我觉得这更容易阅读。您可能会发现更清晰。我们生活在功能强大的CSS后处理器世界中,因此我建议您使用您喜欢的任何东西,然后通过“压缩机”运行它。这里没有值得战斗的圣战。 综上所述,如果您要手写所有的生产CSS,尽管评论中有些抱怨,但我