1. 程式人生 > >springBoot中使用jackjson定義多個檢視

springBoot中使用jackjson定義多個檢視

本篇文章將介紹如何jackjson的JsonView註解定義多個檢視,在springmvc的返回值中返回特定的檢視

在pojo上定義多個檢視

import com.fasterxml.jackson.annotation.JsonView;
import org.hibernate.validator.constraints.*;

import javax.validation.constraints.*;
import java.util.Date;

/**
 * 使用jsonView和介面來宣告多個檢視
 * 這個pojo上定義了兩個檢視一個是SimpleView,一個是DetailView,
 * SimpleView檢視中只有一個name,DetailView繼承自SimpleView,所以他擁有
 * Simpleiew的所有屬性
 */
public class User { public interface SimpleView{}; public interface DetailView extends SimpleView{}; @JsonView(SimpleView.class) private String name; @JsonView(DetailView.class) private String password; private Date birthday; public User() { } public User(String name) { this
.name = name; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public Date getBirthday() { return
birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } }

在SpringMvc的方法之上指明使用哪個檢視,如果不指明使用的檢視的話返回值將顯示所有的欄位

import com.fasterxml.jackson.annotation.JsonView;
import com.micro.fast.security.demo.pojo.User;
import org.springframework.validation.BindingResult;
import org.springframework.validation.FieldError;
import org.springframework.web.bind.annotation.*;

import javax.validation.Valid;
import java.util.ArrayList;
import java.util.List;

@RestController
@RequestMapping("/user")
public class RestfulController {

  @GetMapping
  @JsonView(User.SimpleView.class)//指明使用那個檢視
  public List<User> query(@RequestParam("username") String username){
    List<User> users = new ArrayList<>();
    users.add(new User("name"));
    users.add(new User("name"));
    users.add(new User("name"));
    return users;
  }
}

相關推薦

springBoot使用jackjson定義檢視

本篇文章將介紹如何jackjson的JsonView註解定義多個檢視,在springmvc的返回值中返回特定的檢視 在pojo上定義多個檢視 import com.fasterxml.j

在一個進程定義線程

daemon 之前 args 設置 tar main art blog thread import threadingfrom time import ctime,sleepimport timedef music(name): print(‘listening to

Springboot定義404頁面

height quest text 個性化 .class else only ogg abi 在Springboot中,可以通過修改配置、或者在static文件夾下添加error文件夾引入個性化的404模版。但是如果需要針對不同url地址規則,返回不同樣式的404頁面,則難

如何在FineUIMvc(ASP.NET MVC)檢視繫結模型?

起因 這是知識星球內的一個網友提出的,按理說ASP.NET MVC中一個檢視只能繫結一個模型(Model),在檢視頂部標識如下: @model IEnumerable<FineUICore.Examples.Areas.DataModel.Models.Student> 檢視中可

為什麼類的定義應當寫在標頭檔案,從而被原始檔包含?

比如myclass.h定義了一個類myclass(只定義類,不定義成員函式), file1.cpp裡#include "myclass.h",編譯得到file1.obj; file2.cpp裡也#in

在vi打開文件,復制一個文件行到另一個文件

class pan 上一個 復制 family clas font style -s :set number 查看行號1、vi a.txt b.txt或者vi *.txt 2、文件間切換 :n切換到下一個文件,:wn保存再切換 :N到上一個文件,:wN保存再切換 :.=看當

python_如何在一個for循環叠代可叠代對象?

rom pre blog get 循環 div 考試成績 ron 語文 案例: 某班學生期末考試成績,語文、數學、英語分別存儲在3個列表中,同時叠代三個列表。,計算每個學生的總分(並行) 某年級有4個班,某次英語成績分別記錄在4個列表中,依次叠代每個列表,統計全年級高於9

在已有QT項目添加UI布局界面

技術 obj new ace win 創建 explicit 界面 否則 1、在工程中右鍵->添加新文件,按圖選擇 2、選擇窗口部件 3、創建UI控制類 註意上圖紅框中命名按實際需要定義,否則後期改動要修改UI文件參數 4、修改UI文件,框1是窗口部件父類,框2

php 數據分頁類,可自定義分頁樣式

logs echo oot log 好的 num 方式 turn pre 調用分頁類的方法: // 測試分頁 public function pageTestAction() { Load::load_class(‘getPage‘,DI

shell 腳本獲取mysql字段的值

mysql 腳本 shel 從mysql中查詢出的結果為:mysql -Ne "SELECT ip,port FROM op.host WHERE os=‘linux‘ and type=‘支持‘" +------------+------+ | 10.3.1.155 | 22 | | 10.

java支持線程同時運作!

java 多線程public static void main(String[] args){ Runnable status_runnable=GenerateStatus(); Runnable session_runnable=MyThread(session); Thread s

js將數組一個或字段相同的子元素合並

++ body 遇到 return json 合並 arr 可能 var 最近js中遇到js將數組中一個或多個字段相同的子元素中合並,相信很多朋友也有遇到,大家可能有多種方法,我在這裏記錄一個相對簡單的方法,當然大家如有其它更好的方法,請提出來大家共同學習。 //將經濟事

180217_JAVA學習_TreeSet存放含String的類並設置排序規則

排序 n) color span spa rgs address for out 有Person類如下: 1 class Person { 2   String name; 3   int age; 4   String address; 5 } 有main如下:

IIS https綁定主機頭方法(可實現禁止直接通過IP訪問,好像還可以實現IIS綁定https<是使用單域名證書,非域名證書>)

多個 nbsp app for iis 直接 fig protoc eight 步驟: 打開:%systemroot%\SYSTEM32\inetsrv\config\ 打開:applicationHost.config 查找:<binding protocol="

Django model設置字段聯合唯一約束

project option tab ocs pre gop spa style mode Django中model部分的寫法, 參見 unique-together 部分文檔。 class MyModel(models.Model): field1 = m

C語言存儲字符串的兩種方式

空間 clas 字符串 bubuko spa eight 驗證 std 技術分享 C語言中存儲多個字符串的兩種方式 方式一 二維字符串數組 聲明: char name[4][10] = { "Justinian", "Momo", "Becky", "Bush" }

Mybatisselect傳遞參數

info cti ble array tsql key 參數 _id string 一、單個參數: public List<XXBean> getXXBeanList(String xxCode); <select id="getXXX

SpringMVC自定義攔截器執行順序

true pos out itl 表示 src blog lin 應用 一、正常流程下的攔截器(全部放行) 1.springMVC中攔截器實現這個接口HandlerInterceptor 第一個攔截器 HandlerInterceptor1 public cl

springboot有用的幾有用aware以及bean操作和數據源操作

pub art exception private exce 數據源 static ini sco 本文參考了: https://blog.csdn.net/derrantcm/article/details/76652951 https://blog.csdn.net/d

在js無法獲取id值為demo的問題

例如程式碼中: <script> $(document).ready(function(){ $("#demo").hover(function(){ $("h1").css("background-color","yellow"); },function(){