JAVA-18299 : Changes made for adding json view example fot hiding req… (#13829)
* JAVA-18299 : Changes made for adding json view example fot hiding request feilds in swagger * JAVA-18299: Changes made for adding new example for JsonView Support in swagger hiding field * JAVA-18299: Changes made for adding new example for JsonView Support in swagger hiding field * JAVA-18299: Changes made for removing extra boiler plate code * JAVA-18299: Changes made to incorporate review comments
This commit is contained in:
parent
c8cd042d64
commit
8f5aff6073
|
@ -0,0 +1,34 @@
|
|||
package com.baeldung.springboot.swagger.controller;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import com.baeldung.springboot.swagger.model.Author;
|
||||
import com.baeldung.springboot.swagger.service.AuthorService;
|
||||
import com.baeldung.springboot.swagger.views.Views;
|
||||
import com.fasterxml.jackson.annotation.JsonView;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/authors")
|
||||
public class AuthorsController {
|
||||
|
||||
@Autowired
|
||||
AuthorService authorService;
|
||||
|
||||
@JsonView(Views.Public.class)
|
||||
@GetMapping
|
||||
public List<Author> getAllAuthors() {
|
||||
return authorService.getAllAuthors();
|
||||
}
|
||||
|
||||
@PostMapping
|
||||
public void addAuthor(@RequestBody @JsonView(Views.Public.class) Author author){
|
||||
authorService.addAuthors(author);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
package com.baeldung.springboot.swagger.model;
|
||||
|
||||
import com.baeldung.springboot.swagger.views.Views;
|
||||
import com.fasterxml.jackson.annotation.JsonView;
|
||||
|
||||
public class Author {
|
||||
|
||||
@JsonView(Views.Private.class)
|
||||
private Integer id;
|
||||
|
||||
@JsonView(Views.Public.class)
|
||||
private String name;
|
||||
|
||||
@JsonView(Views.Public.class)
|
||||
private String email;
|
||||
|
||||
public Author() {
|
||||
}
|
||||
|
||||
public Author(String name, String email) {
|
||||
this.name = name;
|
||||
this.email = email;
|
||||
}
|
||||
|
||||
public void setId(Integer id) {
|
||||
this.id = id;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
package com.baeldung.springboot.swagger.service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.baeldung.springboot.swagger.model.Author;
|
||||
|
||||
@Service
|
||||
public class AuthorService {
|
||||
private List<Author> authors = new ArrayList<>();
|
||||
|
||||
public List<Author> getAllAuthors(){
|
||||
return authors;
|
||||
}
|
||||
|
||||
public void addAuthors(Author author){
|
||||
author.setId(authors.size()+1);
|
||||
authors.add(author);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
package com.baeldung.springboot.swagger.views;
|
||||
|
||||
public class Views {
|
||||
public static class Public {
|
||||
}
|
||||
|
||||
public static class Private {
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue