文章是爲告終合工做需求來介紹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在網絡請求方面常常使用到的。希望你們看到這篇文章後知道怎麼使用。至於原理以及詳細的講解,在下篇再詳細講吧