国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【springboot中使用@RequestBody MultiValueMap 總是報(bào)400,415錯(cuò)誤-關(guān)于流程引擎flowable】

這篇具有很好參考價(jià)值的文章主要介紹了【springboot中使用@RequestBody MultiValueMap 總是報(bào)400,415錯(cuò)誤-關(guān)于流程引擎flowable】。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

springboot中使用@RequestBody MultiValueMap 總是報(bào)400,415錯(cuò)誤-關(guān)于流程引擎flowable

第一步:報(bào)錯(cuò)代碼舉例

在Spring boot 中使用 @RequestBody 會(huì)報(bào)錯(cuò),提示錯(cuò)誤 Content type ‘a(chǎn)pplication/x-www-form-urlencoded;charset=UTF-8’ not supported,代碼如下:

@RequestMapping(value = "/act/service/model/{modelId}/save", method = RequestMethod.POST)
public void saveModel(@PathVariable String modelId, @RequestBody MultiValueMap<String, String> values) {
        // 具體業(yè)務(wù)處理邏輯代碼
}

第二步:報(bào)錯(cuò)原因分析

這個(gè)在傳統(tǒng) spring MVC 中是有效的,但是在 Spring boot 中會(huì)報(bào)錯(cuò)。

傳統(tǒng)是 Spring MVC 有效,是因?yàn)橛?mvc:annotation-driven 注解,查資料,mvc:annotation-driven 注解配置了如下的內(nèi)容
spring 3.1 版本:

這個(gè)找到的資料是 3.1 的,

但是我們注意下面最后一行配置
但是我們注意下面最后一行配置

<!-- 注解請(qǐng)求映射  -->
    <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">        
        <property name="interceptors">
            <list>  
                <ref bean="logNDCInteceptor"/>   <!-- 日志攔截器,這是你自定義的攔截器 -->
            </list>        
        </property>        
    </bean>      
    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
        <property name="messageConverters">  
            <list>  
                <ref bean="byteArray_hmc" />  
                <ref bean="string_hmc" />  
                <ref bean="resource_hmc" />  
                <ref bean="source_hmc" />  
                <ref bean="xmlAwareForm_hmc" />  
                <ref bean="jaxb2RootElement_hmc" />  
                <ref bean="jackson_hmc" />  
            </list>  
        </property>  
    </bean>  
    <bean id="byteArray_hmc" class="org.springframework.http.converter.ByteArrayHttpMessageConverter" /><!-- 處理.. -->
    <bean id="string_hmc" class="org.springframework.http.converter.StringHttpMessageConverter" /><!-- 處理.. -->
    <bean id="resource_hmc" class="org.springframework.http.converter.ResourceHttpMessageConverter" /><!-- 處理.. -->
    <bean id="source_hmc" class="org.springframework.http.converter.xml.SourceHttpMessageConverter" /><!-- 處理.. -->
    <bean id="xmlAwareForm_hmc" class="org.springframework.http.converter.xml.XmlAwareFormHttpMessageConverter" /><!-- 處理.. -->
    <bean id="jaxb2RootElement_hmc" class="org.springframework.http.converter.xml.Jaxb2RootElementHttpMessageConverter" /><!-- 處理.. -->
    <bean id="jackson_hmc" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" /><!-- 處理json-->

第三步:找到問題

但是我們注意上面最后一行配置
但是我們注意上面最后一行配置
但是我們注意上面最后一行配置

最后一個(gè)配置了 Jackson 的 json 處理程序,
在更新的版本中,AnnotationMethodHandlerAdapter 已經(jīng)廢棄,
使用的是 RequestMappingHandlerAdapter,
看下 RequestMappingHandlerAdapter 的源碼。

	public RequestMappingHandlerAdapter() {
		StringHttpMessageConverter stringHttpMessageConverter = new StringHttpMessageConverter();
		stringHttpMessageConverter.setWriteAcceptCharset(false);  // see SPR-7316

		this.messageConverters = new ArrayList<HttpMessageConverter<?>>(4);
		this.messageConverters.add(new ByteArrayHttpMessageConverter());
		this.messageConverters.add(stringHttpMessageConverter);
		this.messageConverters.add(new SourceHttpMessageConverter<Source>());
		this.messageConverters.add(new AllEncompassingFormHttpMessageConverter());
	}


第四步:解決方法-增加配置類增加對(duì)應(yīng)數(shù)據(jù)格式的處理Bean

這里面沒有了 json 的處理過程,我們把它加上文章來源地址http://www.zghlxwxcb.cn/news/detail-583400.html

@EnableWebMvc
@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {
    
    @Bean
    public RequestMappingHandlerAdapter requestMappingHandlerAdapter() {
        RequestMappingHandlerAdapter adapter = new RequestMappingHandlerAdapter();
        
        List<HttpMessageConverter<?>> converters = adapter.getMessageConverters();

        MappingJackson2HttpMessageConverter jsonConverter = new MappingJackson2HttpMessageConverter();
        List<MediaType> supportedMediaTypes = new ArrayList<MediaType>();
        MediaType textMedia = new MediaType(MediaType.TEXT_PLAIN, Charset.forName("UTF-8"));
        supportedMediaTypes.add(textMedia);
        MediaType jsonMedia = new MediaType(MediaType.APPLICATION_JSON, Charset.forName("UTF-8"));
        supportedMediaTypes.add(jsonMedia);jsonConverter.setSupportedMediaTypes(supportedMediaTypes);
        
        converters.add(jsonConverter);
        
        
        adapter.setMessageConverters(converters);
        
       return adapter;
    }
}

到了這里,關(guān)于【springboot中使用@RequestBody MultiValueMap 總是報(bào)400,415錯(cuò)誤-關(guān)于流程引擎flowable】的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • http 415 錯(cuò)誤

    HTTP響應(yīng)返回415狀態(tài)碼,錯(cuò)誤信息為“Unsupported Media Type”,也就是服務(wù)器無法處理請(qǐng)求附帶的媒體格式。比如服務(wù)端可接收的格式為json,客戶端發(fā)出的報(bào)文header 中”content-type“為text。 解決方法兩個(gè),一個(gè)是不要設(shè)置服務(wù)端僅接收某一非默認(rèn)類型,如json,另一個(gè)是客戶端補(bǔ)充

    2024年02月12日
    瀏覽(15)
  • HTTP 請(qǐng)求 400錯(cuò)誤

    HTTP 請(qǐng)求 400錯(cuò)誤

    HTTP 請(qǐng)求 400錯(cuò)誤 客戶端發(fā)送請(qǐng)求 服務(wù)端接收請(qǐng)求 客戶端控制臺(tái)打印 服務(wù)端控制臺(tái)打印 將 \\\"avatarBase64\\\"\\\" 修改為 \\\"avatarBase64\\\": \\\"\\\" 即修改請(qǐng)求體: 為 產(chǎn)生這個(gè)問題的原因是客戶端發(fā)送的 JSON 請(qǐng)求體格式不正確,導(dǎo)致服務(wù)端無法解析請(qǐng)求。具體地說,在客戶端構(gòu)建請(qǐng)求體時(shí),鍵

    2024年02月19日
    瀏覽(15)
  • 系統(tǒng)測(cè)試——postman的400錯(cuò)誤

    系統(tǒng)測(cè)試——postman的400錯(cuò)誤

    如果Headers中不勾選Host,調(diào)用接口就會(huì)報(bào)400 Bad Request錯(cuò)誤。

    2024年02月13日
    瀏覽(21)
  • HTTP代理出現(xiàn)400錯(cuò)誤的原因及解決辦法

    ? ? ? ?在使用HTTP代理過程中,會(huì)經(jīng)常出現(xiàn)各種代碼錯(cuò)誤的提示,以下是使用HTTP代理出現(xiàn)400代碼的原因和解決辦法 ? ? ?使用HTTP代理時(shí),出現(xiàn)400 Bad Request錯(cuò)誤代碼通常表示客戶端發(fā)送的請(qǐng)求格式不正確或包含了無效的參數(shù)。下面是一些可能導(dǎo)致400錯(cuò)誤的原因: 請(qǐng)求參數(shù)錯(cuò)誤

    2024年02月06日
    瀏覽(23)
  • Vue2 axios 發(fā)請(qǐng)求報(bào)400錯(cuò)誤 “Error: Request failed with status code 400“

    Vue2 axios 發(fā)請(qǐng)求報(bào)400錯(cuò)誤 “Error: Request failed with status code 400“

    最近在做一個(gè)項(xiàng)目,后端寫了一個(gè)登錄接口,postman可以正常請(qǐng)求。但我axios發(fā)請(qǐng)求出現(xiàn)400錯(cuò)誤 \\\"Error: Request failed with status code 400\\\" 請(qǐng)求: 錯(cuò)誤: ?我研究了兩天,查了無數(shù)資料,最后和朋友一起找到解決方法 原因:后端沒跟我說需要什么格式的數(shù)據(jù),我以為是默認(rèn)的json,后來

    2024年02月11日
    瀏覽(28)
  • 網(wǎng)絡(luò)連接不上總是出現(xiàn)651錯(cuò)誤怎么辦?如何解決?

    隨著電腦的普及,幾乎每家每戶都有一臺(tái)甚至多臺(tái)電腦,而購買電腦之后的第一件事情就是裝寬帶,使電腦的功效發(fā)揮到最大化,但是很多朋友都遇到網(wǎng)絡(luò)連接不上總是出現(xiàn)651的錯(cuò)誤,那么怎么辦呢?下面小編就為大家詳細(xì)介紹一下,有需要的朋友可以參考一下 1、單擊左下

    2024年02月08日
    瀏覽(24)
  • Java 發(fā)送Http請(qǐng)求攜帶中文參數(shù)時(shí) 請(qǐng)求報(bào)400的錯(cuò)誤請(qǐng)求

    在 Java 中,URL 中不能直接包含中文字符,因?yàn)?URL 規(guī)范要求 URL 必須是 ASCII 字符。如果需要在 URL 中傳遞中文參數(shù),需要對(duì)中文參數(shù)進(jìn)行 URL 編碼,將其轉(zhuǎn)換為瀏覽器中的參數(shù)形式。可以使用 java.net.URLEncoder 類來進(jìn)行 URL 編碼。

    2024年02月11日
    瀏覽(19)
  • 解決SpringBoot中@RequestBody不能和Multipart同時(shí)傳遞的問題

    解決SpringBoot中@RequestBody不能和Multipart同時(shí)傳遞的問題

    今天在做文件上傳的時(shí)候,遇到了這么一個(gè)錯(cuò)誤日志: Resolved[org.springframework.web.HttpMediaTypeNotSupportedException: Content type ‘multipart/form-data;boundary=--------------------------771899451541318130280588;charset=UTF-8’ not supported] 從日志中可以發(fā)現(xiàn),好像是因?yàn)锧RequestBody不能和MultipartFile一起使用。

    2024年01月25日
    瀏覽(18)
  • Android studio 設(shè)置proxy錯(cuò)誤,導(dǎo)致HTTP/1.1 400 Bad Request。

    Android studio 設(shè)置proxy錯(cuò)誤,導(dǎo)致HTTP/1.1 400 Bad Request。

    Android studio 設(shè)置proxy 大家在打開一個(gè)新項(xiàng)目是,往往需要下載組件和插件。如果出現(xiàn)一下錯(cuò)誤信息: ? ? java.io.IOException: Unable to tunnel through proxy. Proxy returns \\\"HTTP/1.1 400 Bad Request\\\" Failed to download any source lists!? 原因是連接下載源失敗。Proxy returns \\\"HTTP/1.1 400 Bad Request代理失敗。 請(qǐng)

    2024年02月05日
    瀏覽(34)
  • Postman發(fā)送post請(qǐng)求時(shí)報(bào)400錯(cuò)誤,Required request body is missing

    Postman發(fā)送post請(qǐng)求時(shí)報(bào)400錯(cuò)誤,Required request body is missing

    項(xiàng)目形參位置存在@RequestBody注解,用Postman發(fā)送post請(qǐng)求時(shí)報(bào)400錯(cuò)誤,Required request body is missing。 錯(cuò)誤圖示: 解決方法: 方法一: 項(xiàng)目中形參位置不使用@RequestBody,在Postman進(jìn)行Post請(qǐng)求時(shí),在請(qǐng)求路徑后直接拼接參數(shù)。 方法二: 項(xiàng)目中形參位置使用@RequestBody,在Postman進(jìn)行Po

    2024年02月11日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包