springMvc接收請求參數(shù)(入門 => 放棄)

  • helloworld簡單實例
  • 帶參數(shù)的Get請求
  • 帶參數(shù)的Post請求

helloworld簡單實例

首先我們先創(chuàng)建一個sprngboot項目,新增一個TestController,然后我們先寫上一個最基本的get請求,返回json格式。

import com.alibaba.fastjson.JSONObject;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class TestController {

    @GetMapping("/test")
    public Object test(){
        JSONObject jsonObj = new JSONObject();
        jsonObj.put("status",200);
        jsonObj.put("data",null);
        jsonObj.put("message","successful");
        return jsonObj;
    }
}

我們簡單描述下這個@RestController是什么。
他其實就是@Controller + @ResponseBody 兩個注解的合體。

你如果是前后端分離的項目,你就只需要在類上寫一個@RestController就可以

相反有一些項目是需要我們返回模板引擎的,那么我們就必須寫@Controller,這樣返回的時候就能正常返回界面了。

然而當我們需要返回JSON時候,每一個方法前在加一個@ResponseBody就可以。如下!

@Controller
public class TestController {
    
    @ResponseBody
    @GetMapping("/test")
    public Object test(){
        JSONObject jsonObj = new JSONObject();
        jsonObj.put("status",200);
        jsonObj.put("data",null);
        jsonObj.put("message","successful");
        return jsonObj;
    }

這樣,我們也可以在一個@Controller 之下返回一個json格式的請求。

然后我們用postman發(fā)起一個get請求看看是否正常,我們看看postman給我們返回的結(jié)果,沒問題,發(fā)起下一波進攻。

{
    "data": null,
    "message": "successful",
    "status": 200
}

帶參數(shù)的Get請求

老規(guī)矩先貼代碼。

@GetMapping("/getRequest")
    public Object getRequest(@RequestParam("username") String username,
                             @RequestParam("password") String password){
        JSONObject jsonObj = new JSONObject();
        jsonObj.put("name",username);
        jsonObj.put("password",password);
        return jsonObj;
    }

然后發(fā)起帶參數(shù)的get請求

localhost:8080/getRequest?username=desc&password=123456

看看結(jié)果

{
    "password": "123456",
    "name": "desc"
}

好,當我們接收一個get請求發(fā)過來的參數(shù)時我們只需要用到這個@RequestParam注解 他的第一個參數(shù)就是我們前端參數(shù)的key 這里我們對應的是username,而后面的String username 這個是我們可以指定傳遞過來后他的類型是什么,叫什么,我們也可以直接重命名為name,不妨你可以試試?。?!。

帶參數(shù)的Post請求

@PostMapping("/postRequest")
    public Object postRequest(User user){
        JSONObject jsonObj = new JSONObject();
        jsonObj.put("name",user.getUsername());
        jsonObj.put("password",user.getPassword());
        return jsonObj;
    }
@Data
@TableName("user")
public class User {
    @TableId(type = IdType.AUTO)
    private Long id;
    private String username;
    private String password;

}

我們post請求比較特殊,前端都是把參數(shù)放到了body里面,所以我們接收參數(shù)的時候需要先封裝一個User對象出來,然后我們可以直接通過填寫當前對象來直接賦值從而獲取前端傳遞過來的值。
前提是名字要對得上,比如我們實體類里面是
private String username
我們前端的參數(shù)key也必須是叫 username:"desc"
這樣他才會幫我們自動調(diào)用set方法,把參數(shù)直接set到這個實體類中。
我們看看postman給我們返回什么吧!

{
    "password": "123456",
    "name": "desc"
}

沒問題,以上所有!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容