SpringMvc快速入門之使用篇

文章是爲告終合工做需求來介紹springmvc,本文章只是切合實際的開發的場景對springmvc進行快速的入門介紹。前端

  本篇文章不會對原理進行講解。由於我的以爲有些對於新技術方面能夠分爲一下幾個層次。java

    1.如何去使用這門技術ajax

    2.它的原理是什麼spring

    3.在理解原理的基礎上,如何去模仿,json

      4.如何去進一步演化後端

  因此本篇文章只是停留在第一階段而已。本人看過許多的springmvc入門的文章,固然不少很好的,可是並非我想要的,我要的想要的效果是,你一看文章就知道怎麼去使用,在會使用的基礎上,我再和你說這些原理。restful

  

  一.RestFul風格網絡

   我在第一次看到這個名次的時候,第一反應是,這是什麼,會不會很難。後來瞭解的才明白,其實你能夠理解爲這個是之前經過ajax請求方式。由於如今前端(包含客戶端)愈來愈成熟。因此如今都是使用先後端分離比較多。這樣子的話職責就清晰來。後端只負責將前端想要的數據經過json方式返回給前端就行。mvc只要添加@RestController註解,就覺得當前控制器使用的是restful風格,意味着返回值若是是對象會自動轉化爲json返回前端mvc

   1.GET請求app

//聲明是restful風格
@RestController
public class RestFulController {

    @GetMapping("/get")
    public String getRequest(String name, int age ){

        return name+ "的年齡是"+age;
    }
}

  

  訪問連接如紅圈所示,返回值(即前端拿到的值如圖所示)Tz的年齡是10

  固然咱們實際工做中大部分都是返回json使用。 

 

  

  @GetMapping("/get/responseJson")
    public Object getRequestAndresponseJson(String name){
        Map<String,Object> data = new HashMap();
        Map<String,Object> result = new HashMap();

        data.put("name", "TzSteady");
        data.put("age", "25");
        data.put("hobby", "hiphop");

        result.put("code","0");
        result.put("success","成功");
        result.put("data", data);
return result; }

  上面咱們最後返回來一個對象,並非一個JSON。但咱們請求的時候會你就會發現

  前端收到的返回值是一個json,這就是@RestController註解的其中一個魅力。

  

  2.POST請求

    在實際業務中咱們常常會使用表單提交或者json提交,下面這種是表單提交

    2.1 表單提交

    @PostMapping("/post")
    public Object postRequest(String name, int age, String hobby){
        
        return name+"的年齡是"+age+", 他的興趣是"+hobby;
    }

 

 

 

    2.2 json 提交

      在實際生產中,常常會使用到json提交,咱們會將提交的參數包裝一個參數類來接收前端提交的值,並使用@RequestBody將json請求轉化爲指定的bean

  @PostMapping("/post/json")
    public Object postRequestByJson(@RequestBody User user){

        return user.getName()+"的年齡是"+user.getAge()+", 他的興趣是"+ user.getHobby();
    }

    前端使用的方式爲

    

    這裏值得一說的是,若是是使用json提交的話,前端須要設置頭部的內容類型爲json類型,也就是將Content-Type設置爲application/json 

    固然若是是須要返回json的話,和上面get請求同樣就行。

  3.delete請求

    我我的挺喜歡restful風格將請求都具體話,好比delete請求,很明顯的讓人知道,這個請求是刪除行爲的請求。

  

  @DeleteMapping("/delete")
    public Object deleteRequest(int userId){
        Map<String, Object> result = new HashMap<>();

        result.put("code", "0");
        result.put("mesaage", "刪除成功");

        return result;
    }

  

  不過這種請求方式前端就會很納悶了,由於前端所知道的只有get和post請求,那麼前端如何發起一個delete請求呢

  其實就是data:{_method:"DELETE", userId: 1}在傳參中再加一個_method參數便可。因此能夠看出delete請求其實也是基於get/post請求。只不過是至關於有個必傳參數_method並值爲delete

  

  4.put請求

  除了以上幾種方式,還常常用到得是put請求,put請求使用的場景大部分爲update行爲

  

    @PutMapping("/put")
    public Object putRequestByJson(@RequestBody User user){

        return user.getName()+"的年齡是"+user.getAge()+", 他的興趣是"+ user.getHobby();
    }

  

 

以上是springmvc在網絡請求方面常常使用到的。希望你們看到這篇文章後知道怎麼使用。至於原理以及詳細的講解,在下篇再詳細講吧

相關文章
相關標籤/搜索