<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                [TOC] ## 1. @responseBody 將java對象轉換為josn或者xml返回 1. @responseBody注解的作用是將controller的方法返回的對象通過適當的轉換器轉換為指定的格式之后,寫入到response對象的body區,通常用來返回JSON數據或者是XML數據,需要注意的呢,在使用此注解之后不會再走試圖處理器,而是直接將數據寫入到輸入流中,他的效果等同于通過response對象輸出指定格式的數據。 2. ~~~ @RequestMapping("/login") @ResponseBody public User login(User user){ return user; } User字段:userName pwd 那么在前臺接收到的數據為:'{"userName":"xxx","pwd":"xxx"}' 效果等同于如下代碼: @RequestMapping("/login") public void login(User user, HttpServletResponse response){ response.getWriter.write(JSONObject.fromObject(user).toString()); } ~~~ 3. 例如 ~~~ @Controller @EnableAutoConfiguration public class Example { @Autowired private UserMapper UserMapper; @ResponseBody @RequestMapping("/getUser/{id}") String getUser(@PathVariable Long id) { return UserMapper.getById(id).toString(); } } ~~~ 不加@ResponseBody ![](https://box.kancloud.cn/b2c1a88557fdf0dd36e279e2b41d34b5_1897x433.png) 加@ResponseBody ![](https://box.kancloud.cn/418f73ef63c44260f030d42e3bfe4119_627x219.png) ## 2. @RestController @Controller和@RestController的區別? 官方文檔: @RestController is a stereotype annotation that combines @ResponseBody and @Controller. 意思是: @RestController注解相當于@ResponseBody + @Controller合在一起的作用。 1)如果只是使用@RestController注解Controller,則Controller中的方法無法返回jsp頁面,配置的視圖解析器InternalResourceViewResolver不起作用,返回的內容就是Return 里的內容。 例如:本來應該到success.jsp頁面的,則其顯示success. 2)如果需要返回到指定頁面,則需要用 @Controller配合視圖解析器InternalResourceViewResolver才行。 3)如果需要返回JSON,XML或自定義mediaType內容到頁面,則需要在@Controller對應的方法上加上@ResponseBody注解。 ## 3. @RequestBody 作用與responseBody相反,將request中的JSON格式或者XML格式,轉換為java對象 兩個作用: 1. 該注解用于讀取Request請求的**body部分數據**,使用系統默認配置的**HttpMessageConverter進行解析**,然后把相應的數據綁定到要返回的對象上。 2. 再把HttpMessageConverter返回的對象數據綁定到 controller中方法的參數上。 3. 因為GET請求通常將請求參數攜帶在url上,沒有放在請求體中,所以GET一般不與@RequestBody搭配 **4. @RequestBody一般與POST搭配,綁定javabean** ~~~ @RequestMapping(value = {"/add/{sort}","/add",},method = RequestMethod.POST) @ResponseBody public AjaxCommonObject add(@RequestBody MoocDocClassify moocDocClassify, @PathVariable(required = false) String sort, HttpSession session) { MoocUser user = (MoocUser)session.getAttribute(AuthConstants.CURRENT_USER); AjaxCommonObject ajaxCommonObject = new AjaxCommonObject(); try { int docId = personalService.add(moocDocClassify,user,sort); ajaxCommonObject.setData(docId); } catch (BizCommonException e) { return new AjaxCommonObject(e); } ~~~ ## 4. PathVariable ### 4.1 如果參數為空怎么辦 1. 可以指定多個匹配路徑,將空值的路徑也加進去 ~~~ @RequestMapping(value = {"/get/{userId}", "/get/{id}/{userId}"}, method = RequestMethod.GET) ~~~ 2. 然后設置參數非必須 ~~~ @PathVariable(required = false) String id ~~~ 例如: ~~~ @RequestMapping(value = {"/add/{sort}","/add",},method = RequestMethod.POST) @ResponseBody public AjaxCommonObject add(@RequestBody MoocDocClassify moocDocClassify, @PathVariable(required = false) String sort, HttpSession session) { MoocUser user = (MoocUser)session.getAttribute(AuthConstants.CURRENT_USER); AjaxCommonObject ajaxCommonObject = new AjaxCommonObject(); try { int docId = personalService.add(moocDocClassify,user,sort); ajaxCommonObject.setData(docId); } catch (BizCommonException e) { return new AjaxCommonObject(e); } ~~~ ## 5. @RequestParam 1. 用來處理Content-Type: 為 application/x-www-form-urlencoded編碼的內容。(Http協議中,如果不指定Content-Type,則默認傳遞的參數就是application/x-www-form-urlencoded類型) 2. **常用來處理簡單類型的綁定** 實質是將Request.getParameter() 中的Key-Value參數Map利用Spring的轉化機制ConversionService配置,轉化成參數接收對象或字段。 3. 在Content-Type: application/x-www-form-urlencoded的請求中,get 方式中queryString的值,和post方式中 body data的值都會被Servlet接受到并轉化到Request.getParameter()參數集中,所以@RequestParam可以獲取的到。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看