Cómo escribir el lado del servidor Spring Boot jsonp
Puede utilizar @JsonView para representar datos JSON en grupos y mostrar datos JSON a pedido.
5.1. Modelo
Código de colección de código Java
clase pública El usuario implementa Serializable {
interfaz estática pública OnlyIdView {}
interfaz estática pública OnlyNameView {}
interfaz estática pública AllView extiende OnlyIdView, OnlyNameView {}
@JsonView(OnlyIdView.class)
privada Larga id;
@JsonView(OnlyNameView.class)
nombre de cadena privada
......
} p>
Se han definido tres vistas:
5.2, Controlador
Código de colección de código Java
@RestController
clase pública JacksonJsonViewController {
@RequestMapping("/jackson1")
@JsonView(User.OnlyIdView.class)
usuario público test1() {
Usuario público test1() {
return nuevo Usuario(1L, "zhangsan");
}
@RequestMapping("/jackson2")
@JsonView(User.OnlyNameView.class)
usuario público test2() {
return nuevo usuario(1L, "zhangsan"); }
@RequestMapping("/jackson3")
@JsonView(User.AllView.class)// Puede omitirse
public User test3() {
return new User(1L, "zhangsan");
}
}
Utilice @JsonView para controlar los datos presentados.
6. Soporte Jsonp
6.1. Soporte proporcionado por MappingJackson2JsonView
Código de colección de código Java
Luego visite, por ejemplo, . github")
public class JsonpAdvice extends AbstractJsonpResponseBodyAdvice {
public JsonpAdvice() {
super(" devolución de llamada ", " jsonp"); //especificar jsonpParameterNames
}
}
}
}
visit.github")
clase pública MyResponseBodyAdvice implementa ResponseBodyAdvice
@Override
soportes booleanos públicos (MethodParameter métodoParameter, Class> > convertType) {
return métodoParameter.getMethod().getReturnType().isAssignableFrom(User.class);
}
@ Override < / p>
objeto público beforeBodyWrite(
objeto obj, MethodParameter métodoParameter, MediaType mediaType,
clase extiende HttpMessageConverter> > convertidorType,
ServerHttpRequest serverHttpRequest, ServerHttpResponse serverHttpResponse) {
Usuario usuario = ((Usuario)obj
usuario.setName("---").+ usuario.getName() +; " ---");
Devolver usuario
}
Devolver usuario.
}
1.supports especifica el tipo de método que admite el procesamiento. En este caso, es un método cuyo valor de retorno es Usuario 2. Obtenemos el objeto Usuario y luego. deletréelo antes y después del nombre "---" 3. Puede especificar varios ResponseBodyAdvices y utilizar @Order para especificar el orden. Visite http://localhost:8080/jackson2?callback=callback para ver el efecto.
7. Gson HttpMessageConverter
7.1. Configuración de Spring
Código de colección de código Java
El uso es similar a Jackson Json. Este artículo utiliza la versión