欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決SpringBoot在后臺(tái)接收前臺(tái)傳遞對(duì)象方式的問(wèn)題

 更新時(shí)間:2021年01月21日 09:44:40   作者:MarkCoder  
這篇文章主要介紹了解決SpringBoot在后臺(tái)接收前臺(tái)傳遞對(duì)象方式的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

問(wèn)題描述

前臺(tái)傳遞對(duì)象,不管是通過(guò)ajax請(qǐng)求方式,還是axios請(qǐng)求方式。后臺(tái)應(yīng)該怎么接收對(duì)象處理呢?

比如前臺(tái)傳遞

ajax方式:

$.ajax({
 url: "后臺(tái)的方式",
 async: false,
 type: "POST",
 dataType : "json",
 data: JSON.stringify(formParamObj),
 contentType:'application/json;charset=utf-8',
 success: function (data) {
  if (data.isSuccess) {
   //成功處理方式
  } else if ("403" == data) {
   //失敗方式處理
  }
 }
});

axios方式:

let params = {
 key1:value1,
 key2:value2
}
axios.post/get(url,params).then(res=>{
 //處理結(jié)果
})

解決方案:

在方法的參數(shù)前面添加注解@RequestBody就可以解決

@PostMapper("/xxx/xxxx")
public List getProgramList(@RequestBody Program program){
 System.out.println(program);
 return null;
}

落地測(cè)試:

可以通過(guò)postman工具進(jìn)行測(cè)試

補(bǔ)充:關(guān)于SpringBoot自定義注解(解決post接收String參數(shù) null(前臺(tái)傳遞json格式))

今天遇到個(gè)問(wèn)題,接口方面的,請(qǐng)求參數(shù)如下圖為json格式(測(cè)試工具使用google的插件postman)

后臺(tái)用字符串去接收為null

解決方案有以下幾種

1.使用實(shí)體接收(一個(gè)參數(shù),感覺沒必要)

2.使用map接收(參數(shù)不清晰,不想用)

3.自定義注解(本文采用)

第一步:

創(chuàng)建兩個(gè)類代碼如下:

package com.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target(ElementType.PARAMETER)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface RequestJson {
String value();
}
package com.annotation;
import java.io.BufferedReader;
import javax.servlet.http.HttpServletRequest;
import org.springframework.core.MethodParameter;
import org.springframework.web.bind.support.WebDataBinderFactory;
import org.springframework.web.context.request.NativeWebRequest;
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
import org.springframework.web.method.support.ModelAndViewContainer;
import com.alibaba.fastjson.JSONObject;
public class RequestJsonHandlerMethodArgumentResolver implements HandlerMethodArgumentResolver {
@Override
public boolean supportsParameter(MethodParameter parameter) {
return parameter.hasParameterAnnotation(RequestJson.class);
}
@Override
public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer,
NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception {
RequestJson requestJson = parameter.getParameterAnnotation(RequestJson.class);
HttpServletRequest request = webRequest.getNativeRequest(HttpServletRequest.class);
BufferedReader reader = request.getReader();
StringBuilder sb = new StringBuilder();
char[] buf = new char[1024];
int rd;
while ((rd = reader.read(buf)) != -1) {
sb.append(buf, 0, rd);
}
JSONObject jsonObject = JSONObject.parseObject(sb.toString());
String value = requestJson.value();
return jsonObject.get(value);
}
}

第二步:?jiǎn)?dòng)類添加如下代碼

第三步:后臺(tái)請(qǐng)求(使用下圖方式接受就可以了)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • 全面解讀Java中的枚舉類型enum的使用

    全面解讀Java中的枚舉類型enum的使用

    這篇文章主要介紹了Java中的枚舉類型enum的使用,開始之前先講解了枚舉的用處,然后還舉了枚舉在操作數(shù)據(jù)庫(kù)時(shí)的實(shí)例,需要的朋友可以參考下
    2016-04-04
  • springboot集成mqtt的實(shí)踐開發(fā)

    springboot集成mqtt的實(shí)踐開發(fā)

    本篇文章主要介紹了springboot集成mqtt的實(shí)踐開發(fā),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08
  • Java如何限制IP訪問(wèn)頁(yè)面

    Java如何限制IP訪問(wèn)頁(yè)面

    這篇文章主要介紹了Java如何限制IP訪問(wèn)頁(yè)面,幫助大家完成需求,實(shí)現(xiàn)白名單,感興趣的朋友可以了解下
    2020-09-09
  • 通過(guò)實(shí)例了解java TransferQueue

    通過(guò)實(shí)例了解java TransferQueue

    這篇文章主要介紹了TransferQueue實(shí)例,下面小編和大家一起來(lái)學(xué)習(xí)一下
    2019-05-05
  • Java動(dòng)態(tài)代理和AOP應(yīng)用示例

    Java動(dòng)態(tài)代理和AOP應(yīng)用示例

    這篇文章主要介紹了Java動(dòng)態(tài)代理和AOP應(yīng)用,結(jié)合實(shí)例形式分析了java動(dòng)態(tài)代理在AOP面向切面編程中的相關(guān)操作技巧與使用注意事項(xiàng),需要的朋友可以參考下
    2019-07-07
  • 詳解在Spring中如何使用AspectJ來(lái)實(shí)現(xiàn)AOP

    詳解在Spring中如何使用AspectJ來(lái)實(shí)現(xiàn)AOP

    這篇文章主要介紹了詳解在Spring中如何使用AspectJ來(lái)實(shí)現(xiàn)AOP,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • java對(duì)象轉(zhuǎn)型實(shí)例分析

    java對(duì)象轉(zhuǎn)型實(shí)例分析

    這篇文章主要介紹了java對(duì)象轉(zhuǎn)型的概念及用法,并以實(shí)例形式進(jìn)行了較為詳細(xì)的介紹,需要的朋友可以參考下
    2014-10-10
  • SpringBoot2如何集成Elasticsearch6.x(TransportClient方式)

    SpringBoot2如何集成Elasticsearch6.x(TransportClient方式)

    這篇文章主要介紹了SpringBoot2如何集成Elasticsearch6.x(TransportClient方式)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • 基于Java回顧之多線程詳解

    基于Java回顧之多線程詳解

    在這篇文章里,我們關(guān)注多線程。多線程是一個(gè)復(fù)雜的話題,包含了很多內(nèi)容,這篇文章主要關(guān)注線程的基本屬性、如何創(chuàng)建線程、線程的狀態(tài)切換以及線程通信,我們把線程同步的話題留到下一篇文章中
    2013-05-05
  • 圖文詳解Java環(huán)境變量配置方法

    圖文詳解Java環(huán)境變量配置方法

    這篇文章主要以圖文結(jié)合的方式詳細(xì)介紹了Java環(huán)境變量配置方法,文中步驟介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-04-04

最新評(píng)論