Der Unterschied und die Verwendung von @RequestBody und @RequestParam

Der Unterschied und die Verwendung von @RequestBody und @RequestParam

Tipps vor dem Anzeigen:

In diesem Artikel ist die IDEA-Version Ultimate 2019.1, die JDK-Version 1.8.0_141 und die Tomcat-Version 9.0.12.

1. @ RequestBody

1.1 Einleitung

@RequestBody empfängt Parameter von requestBody, dh im Anforderungshauptteil.

Die Verarbeitung der von HttpEntity übergebenen Daten wird im Allgemeinen zur Verarbeitung von Daten im nicht inhaltlichen Typ verwendet: application / x-www-form-urlencoded-Codierungsformat.

1.2 Beispiel

Testklasse TestController.java

package com.example.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * 测试Controller
 * @author jjy
 * @date 2020-07-21
 */
@Controller
@RequestMapping("/test")
public class TestController {
    
    

    /**
     * 测试RequestBody
     * @param jsonStr
     * @return
     */
    @RequestMapping("/testRequestBody")
    @ResponseBody
    public String testRequestBody(@RequestBody String jsonStr){
    
    
        System.out.println(jsonStr);
        return "success";
    }
}

Verwenden Sie Postman, um einen Anforderungstest zu senden. Die Ergebnisse sind wie folgt
Fügen Sie hier eine Bildbeschreibung ein

Fügen Sie hier eine Bildbeschreibung ein

2. @RequestParam

2.1 Einleitung

Die von @RequestParam empfangenen Parameter stammen von requestHeader, dem Anforderungsheader.

Wird zur Verarbeitung des Inhaltstyps verwendet: Inhalt, der für application / x-www-form-urlencoded codiert ist.

@RequestParam kann drei Parameter konfigurieren:

  1. erforderlich gibt an, ob es notwendig ist, der Standardwert ist true, muss.

  2. defaultValue kann den Standardwert des Anforderungsparameters festlegen.

  3. value ist der Parametername der empfangenden URL (entspricht dem Schlüsselwert).

2.2 Beispiele

Testklasse TestController.java

package com.example.controller;

import com.example.model.Person;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * 测试Controller
 * @author jjy
 * @date 2020-07-21
 */
@Controller
@RequestMapping("/test")
public class TestController {
    
    

    /**
     * 测试RequestParam
     * @param name
     * @return
     */
    @RequestMapping("/testRequestParam")
    @ResponseBody
    public String testRequestParam(@RequestParam(name = "userName") String name){
    
    
        System.out.println(name);
        return "success";
    }
}

Verwenden Sie Postman, um einen Anforderungstest zu senden. Die Ergebnisse sind wie folgt

Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein

Ich denke du magst

Origin blog.csdn.net/weixin_43611145/article/details/107491118
Empfohlen
Rangfolge