日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

不知道這些不要說玩轉(zhuǎn)了Controller接口

來源: 責編: 時間:2024-05-08 09:18:21 210觀看
導讀環(huán)境:SpringBoot3.2.51. 簡介在Spring Boot中,Controller接口是用于處理HTTP請求并返回響應的重要組件。對于Controller中映射的接口,Spring提供了多種匹配方式,以便開發(fā)者能夠更靈活、更精確地定義請求與處理器方法之間

環(huán)境:SpringBoot3.2.5Lqr28資訊網(wǎng)——每日最新資訊28at.com

1. 簡介

在Spring Boot中,Controller接口是用于處理HTTP請求并返回響應的重要組件。對于Controller中映射的接口,Spring提供了多種匹配方式,以便開發(fā)者能夠更靈活、更精確地定義請求與處理器方法之間的對應關系。Lqr28資訊網(wǎng)——每日最新資訊28at.com

在平時的開發(fā)中,定義的接口路徑通常會遵循RESTful API設計原則,并且會盡量保持清晰、簡潔和具有描述性。接口路徑可能會根據(jù)業(yè)務需求和資源模型進行組織,但一般都具有以下特點:Lqr28資訊網(wǎng)——每日最新資訊28at.com

  1. 使用名詞表示資源,如/users、/products。
  2. 使用HTTP方法(GET、POST、PUT、DELETE等)來表示對資源的操作。
  3. 對于資源的子集或特定實例,使用路徑參數(shù),如/users/{userId}。
  4. 在需要時,使用查詢參數(shù)來過濾或排序結(jié)果,如/users?name=John&sort=asc。

這樣的接口路徑設計有助于保持API的一致性和可讀性,同時也方便前端開發(fā)者理解和使用。并且這種RESTful API接口返回值通常都是JSON格式,雖然JSON格式因其輕量級和易讀性而廣泛流行,但實際項目開發(fā)中確實可能出現(xiàn)對返回值格式的不同需求。這些需求可能包括返回JSON、XML,或者根據(jù)特定的業(yè)務場景需要自定義的數(shù)據(jù)格式。針對這種場景需求SpringMVC為我們提供默認提供了支持,如:JSON,XML,自定義格式,接下來將詳細介紹如何一個接口支持不同的返回數(shù)據(jù)格式。Lqr28資訊網(wǎng)——每日最新資訊28at.com

2. 實戰(zhàn)案例

你需要一個接口支持不同格式的輸出,我們可以通過以下3中方式來定義不同的輸出格式。為了支持XML格式,我們需要引入下面依賴Lqr28資訊網(wǎng)——每日最新資訊28at.com

<dependency>  <groupId>com.fasterxml.jackson.dataformat</groupId>  <artifactId>jackson-dataformat-xml</artifactId></dependency>

2.1 請求Header

這種方式是官方推薦的方式,根據(jù)請求的Accept header來指定你希望接收的數(shù)據(jù)格式Lqr28資訊網(wǎng)——每日最新資訊28at.com

@RestController@RequestMapping("/returnformat")public class RetrunFormatController {    @GetMapping("")  public User format() {    User user = new User(666L, "張三") ;    return user ;   }}

通過postman指定請求的header AcceptLqr28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片Lqr28資訊網(wǎng)——每日最新資訊28at.com

指定返回XML格式Lqr28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片Lqr28資訊網(wǎng)——每日最新資訊28at.com

2.2 通過請求參數(shù)

要想SpringMVC支持請求參數(shù)方式設置接收的數(shù)據(jù)格式,首先需要開啟此功能Lqr28資訊網(wǎng)——每日最新資訊28at.com

spring:  mvc:    contentnegotiation:      favor-parameter: true

通過上面開啟后我們就可以在請求參數(shù)中添加format參數(shù)即可,默認只支持json和xml兩種格式:Lqr28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片Lqr28資訊網(wǎng)——每日最新資訊28at.com

指定返回XML格式Lqr28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片Lqr28資訊網(wǎng)——每日最新資訊28at.com

請求的參數(shù)名默認是format,我們還可以通過如下配置修改參數(shù)名Lqr28資訊網(wǎng)——每日最新資訊28at.com

spring:  mvc:    contentnegotiation:      favor-parameter: true      parameter-name: fmt

圖片圖片Lqr28資訊網(wǎng)——每日最新資訊28at.com

2.3 通過路徑后綴

該種方式已經(jīng)不推薦使用了。從5.3開始,默認情況下,SpringMVC不再執(zhí)行.*后綴模式匹配,其中映射到/person的控制器也隱式映射到/perse.*。因此,路徑擴展不再用于解釋響應的請求內(nèi)容類型?—?例如/person.pdf、/person.xml等。要使用基于后綴的方式,在不同的版本中開啟此功能的方式不一樣,在5.3(包括)之前版本可以直接通過配置設置,從6.0開始只能通過自定義WebMvcConfigurer配置。Lqr28資訊網(wǎng)——每日最新資訊28at.com

5.3之前版本Lqr28資訊網(wǎng)——每日最新資訊28at.com

spring:  mvc:    contentnegotiation:      favor-path-extension: true

6.0版本Lqr28資訊網(wǎng)——每日最新資訊28at.com

@Configurationpublic class FavorPathConfigurer implements WebMvcConfigurer {  @Override  public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {    configurer.favorPathExtension(true) ;  }}

Controller接口定義Lqr28資訊網(wǎng)——每日最新資訊28at.com

@RestController@RequestMapping("/favors")public class FavorPathController {    @GetMapping("/p.*")  public User favor() {    return new User(1L, "張三") ;  }}

分別指定不同的請求后綴Lqr28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片Lqr28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片Lqr28資訊網(wǎng)——每日最新資訊28at.com

2.4 自定義格式

在Spring Boot環(huán)境下自定義消息格式非常的簡單,你執(zhí)行實現(xiàn)HttpMessageConverter接口即可。如下示例,自定義返回yaml格式的數(shù)據(jù)Lqr28資訊網(wǎng)——每日最新資訊28at.com

public class YamlHttpMessageConverter implements HttpMessageConverter<Object> {  @Override  public boolean canWrite(Class<?> clazz, MediaType mediaType) {    // 這里為了簡單只做類型判斷,你應該對MediaType做判斷,否則其它格式將無法正確輸出    return User.class.isAssignableFrom(clazz)  }  @Override  public List<MediaType> getSupportedMediaTypes() {    return List.of(new MediaType("application", "yaml")) ;  }  @Override  public void write(Object t, MediaType contentType, HttpOutputMessage outputMessage)      throws IOException, HttpMessageNotWritableException {    StreamUtils.copy(new org.yaml.snakeyaml.Yaml().dump(t), StandardCharsets.UTF_8, outputMessage.getBody()) ;  }}

配置文件中定義你自定義的格式Lqr28資訊網(wǎng)——每日最新資訊28at.com

spring:  mvc:    contentnegotiation:      media-types:        yaml: application/yaml

以上就完成了自定義格式輸出的所有準備,測試結(jié)果Lqr28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片Lqr28資訊網(wǎng)——每日最新資訊28at.com

輸出yaml格式數(shù)據(jù)。你可以將輸出的數(shù)據(jù)在通過Yaml類進行還原為User對象。Lqr28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-87255-0.html不知道這些不要說玩轉(zhuǎn)了Controller接口

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: JavaScript 原生深拷貝方法來啦!structuredClone 閃耀登場~

下一篇: HTMX:重回前端的原始時代?

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
国产一区二区主播在线| 欧美三级网址| 久久久久国产精品一区三寸| 久久免费视频在线| 欧美福利在线| 国产精品久久网站| 国产一区二区三区久久久久久久久 | 中文有码久久| 欧美一区二区黄色| 欧美 亚欧 日韩视频在线| 欧美日韩综合不卡| 国产专区精品视频| 日韩视频永久免费观看| 欧美在线精品免播放器视频| 欧美成年人视频| 国产精品你懂的在线欣赏| 激情久久久久久| 在线中文字幕日韩| 久久久久久9| 欧美三级精品| 亚洲二区在线视频| 亚洲性视频h| 欧美 日韩 国产 一区| 国产精品一二一区| 最新国产精品拍自在线播放| 亚洲男人第一网站| 免费亚洲视频| 国产乱码精品1区2区3区| 亚洲精品国产精品国产自| 欧美一级大片在线免费观看| 欧美第一黄色网| 国产亚洲一区二区三区在线观看| 亚洲日本精品国产第一区| 小黄鸭精品密入口导航| 欧美精品久久一区| 一区二区视频欧美| 亚洲欧美日韩综合| 欧美日韩国产影片| 在线不卡免费欧美| 午夜视频在线观看一区二区| 欧美女同在线视频| 影音先锋久久| 午夜在线成人av| 欧美日韩综合视频| 亚洲国产日韩精品| 久久久久久久999精品视频| 国产精品久久久久影院亚瑟| 亚洲精品视频在线观看免费| 久久一区激情| 国产尤物精品| 亚洲欧美综合网| 国产精品夫妻自拍| 99精品国产在热久久下载| 美女福利精品视频| 激情久久五月| 国产精品夫妻自拍| …久久精品99久久香蕉国产| 欧美与黑人午夜性猛交久久久| 欧美特黄一级| 亚洲另类自拍| 欧美v国产在线一区二区三区| 国内外成人在线视频| 欧美一级视频精品观看| 国产精品每日更新在线播放网址| 99这里只有久久精品视频| 欧美激情一区二区久久久| 在线精品亚洲| 久久综合给合久久狠狠色| 国产亚洲一区二区精品| 欧美一区二区三区喷汁尤物| 国产精品尤物| 亚洲欧美日韩一区二区三区在线| 欧美午夜一区| 亚洲综合欧美日韩| 国产精品久久久亚洲一区| 亚洲一级在线| 国产精品久久久久久久久久尿| 亚洲图片你懂的| 国产精品久久久久一区二区三区共| 日韩一级免费观看| 欧美日韩精品三区| 一区二区激情视频| 欧美无砖砖区免费| 亚洲一级特黄| 国产精品推荐精品| 午夜精品亚洲一区二区三区嫩草| 国产精品午夜在线| 午夜欧美电影在线观看| 国产欧美日韩一级| 久久成年人视频| 激情久久中文字幕| 免费观看在线综合| 亚洲精品中文字幕有码专区| 欧美伦理91i| 亚洲婷婷综合色高清在线| 国产精品日韩欧美一区二区三区| 亚洲综合日韩| 国产一区久久| 老司机免费视频久久| 91久久极品少妇xxxxⅹ软件| 欧美激情综合| 亚洲欧美另类国产| 国产一区二区按摩在线观看| 久久在线观看视频| 最近中文字幕日韩精品 | 亚洲一区二区三区在线视频| 国产精品久久久久9999| 午夜精品久久久久久久99樱桃 | 影音先锋日韩资源| 欧美激情精品久久久久久| 99精品欧美| 国产美女精品一区二区三区 | 欧美激情综合五月色丁香小说| 一区二区三区四区国产精品| 国产九九精品视频| 久久综合狠狠综合久久激情| 日韩视频不卡中文| 国产精品欧美久久| 老司机aⅴ在线精品导航| 一本到高清视频免费精品| 国产精品一区二区久久| 久久一二三四| 亚洲图片欧洲图片av| 国产一区欧美| 欧美日韩123| 久久国产精品久久久| 亚洲人成网站色ww在线| 国产精品欧美日韩一区二区| 久久综合五月天婷婷伊人| 夜久久久久久| 狠狠干综合网| 欧美网站在线观看| 久久一二三四| 亚洲综合色视频| 亚洲国产高潮在线观看| 国产精品久久久久久久久久免费| 老司机67194精品线观看| 亚洲图中文字幕| 影音先锋久久资源网| 国产精品久久久久久五月尺| 免费日韩视频| 香蕉成人久久| 亚洲国产欧美一区| 国产乱码精品一区二区三区不卡 | 欧美福利专区| 欧美一区2区三区4区公司二百| 亚洲精品国产精品乱码不99按摩| 国产精品手机在线| 欧美精品导航| 久久五月激情| 午夜精品国产| 中文欧美字幕免费| 亚洲国产欧美久久| 国产亚洲aⅴaaaaaa毛片| 欧美日韩免费一区| 麻豆成人在线| 久久成人精品视频| 这里只有精品视频在线| 一区二区亚洲| 国产日韩欧美a| 欧美午夜久久| 欧美精品aa| 美女精品国产| 久久精品夜夜夜夜久久| 亚洲在线不卡| 一区二区欧美在线观看| 亚洲韩国日本中文字幕| 国产伊人精品| 国产精品自拍网站| 国产精品v日韩精品| 欧美精品一卡| 女人色偷偷aa久久天堂| 久久精品国产精品| 亚洲欧美日韩中文播放| 在线一区观看| 日韩小视频在线观看专区| 亚洲第一二三四五区| 国内精品国产成人| 国产亚洲精品福利| 国产精品视区| 国产精品高潮在线| 欧美视频免费| 欧美日韩国产综合一区二区| 欧美成人一区在线| 另类综合日韩欧美亚洲| 久久人人97超碰精品888| 久久激情网站| 久久av红桃一区二区小说| 性欧美办公室18xxxxhd| 亚洲欧美日韩天堂| 亚洲尤物精选| 亚洲欧美日产图| 亚洲免费中文| 先锋影音国产一区| 午夜一区在线| 欧美一区高清| 欧美在线播放一区| 欧美一区在线直播| 欧美一区二区三区在线看| 欧美在线黄色| 久久免费偷拍视频| 免费亚洲婷婷| 欧美精品日韩一本| 欧美日韩在线一区二区|