最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot Controller中的常用注解

 更新時(shí)間:2022年09月16日 09:09:18   作者:UserLw  
這篇文章主要介紹了SpringBoot Controller中的常用注解,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有有一定的參考價(jià)值,需要的小伙伴可以參考一下

概述

Controller是Spring接受并處理網(wǎng)頁(yè)請(qǐng)求的組件,是整個(gè)應(yīng)用的入口,因此學(xué)會(huì)Controller的常用注解對(duì)理解一個(gè)應(yīng)用是重中之重。SpringBoot的Controller中經(jīng)常會(huì)用到注解@Controller、@RestController、@RequestMapping、@RequestBody等,本短文主要對(duì)這些常用的Controller注解進(jìn)行簡(jiǎn)單介紹。

常用注解簡(jiǎn)介

1.@Controller

@Controller是最基本的控制層注解,繼承了Spring的@Component注解,會(huì)把對(duì)應(yīng)的類聲明為Spring對(duì)應(yīng)的Bean,并且可以被Web組件管理。使用@Controller注解返回的是view,而不是Json數(shù)據(jù),例:

@Controller
@RequestMapping("/test")
public class HelloController {

    @RequestMapping("/hello")
    public String hello(Model model) {
        model.addAttribute("message", "Hello World!");
        return "index";
    }
}

在該段代碼中,用戶若訪問(wèn)/test/hello,則會(huì)返回index頁(yè)面。

2.@RestController

和@Controller一樣,@RestController也是用于一個(gè)類的標(biāo)注,不同的是@RestController標(biāo)注的類的方法返回json。

例如:

@RestController
@RequestMapping("/test")
public class TestController {

    @GetMapping("/index")
    public String testMethod(Model model) {
        return "index/index";
    }
}

訪問(wèn)的返回結(jié)果如圖所示 :

3.@RequestMapping

@RequestMapping是用于標(biāo)識(shí)類或者方法的訪問(wèn)地址的,提供路由信息,完成從url到controller的映射。例如上面代碼塊中的類上的@RequestMapping("/test")表示訪問(wèn)端口的/test就能訪問(wèn)到改控制器,而訪問(wèn)/test/index則能訪問(wèn)到該類的相應(yīng)方法。@GetMapping/@PostMapping其實(shí)就是@RequestMapping和Get/Post的集合。@GetMapping(value = “hello”) 等價(jià)于@RequestMapping(value = “hello”, method = RequestMethod.GET)

4.@RequestBody

該注解的作用是將方法的返回值,以特定的格式寫(xiě)入到response的body區(qū)域,進(jìn)而將數(shù)據(jù)返回給客戶端。當(dāng)方法上面沒(méi)有寫(xiě)ResponseBody,底層會(huì)將方法的返回值封裝為ModelAndView對(duì)象。如果返回值是字符串,那么直接將字符串寫(xiě)到客戶端;如果是一個(gè)對(duì)象,會(huì)將對(duì)象轉(zhuǎn)化為json串,然后寫(xiě)到客戶端。@Controller+@ResponseBody等于@RestController。

5.@RequestParam

@RequestParam用于獲取請(qǐng)求參數(shù),從而使用請(qǐng)求所帶的參數(shù),

例如:

@RequestMapping("/user")
public String testRequestParam(@RequestParam("name") String name){
    System.out.println("請(qǐng)求姓名參數(shù)="+name);
    return "success";
}

該段代碼會(huì)解析請(qǐng)求參數(shù)name,用于方法中的使用。

6.@PathVariable

@PathVariable與@RequestMapping配合使用,通過(guò)解析url中的占位符進(jìn)行參數(shù)獲取。

例如:

@RequestMapping("/user/{id}")
public String testPathVariable(@PathVariable("id") String id){
    System.out.println("路徑上的占位符的值="+id);
    return "success";
}

上面的代碼塊就能從url中解析出id字段,用于方法中的使用。

總結(jié)

本文只是對(duì)常用的一些@Controller層的注解進(jìn)行簡(jiǎn)介,對(duì)這些注解組合使用,才能夠達(dá)到想要完成的目的任務(wù)。

到此這篇關(guān)于SpringBoot Controller中的常用注解的文章就介紹到這了,更多相關(guān)SpringBoot Controller 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

海兴县| 木兰县| 监利县| 稷山县| 吉木乃县| 大英县| 平舆县| 安塞县| 德钦县| 郎溪县| 彭泽县| 广宗县| 灌南县| 开平市| 河池市| 新干县| 什邡市| 英德市| 江孜县| 乌鲁木齐县| 滁州市| 长海县| 江永县| 青浦区| 云浮市| 大洼县| 方山县| 芦溪县| 轮台县| 合肥市| 双牌县| 鞍山市| 合阳县| 奎屯市| 枞阳县| 石柱| 漾濞| 泽库县| 新民市| 奇台县| 南丹县|