Red de conocimiento informático - Problemas con los teléfonos móviles - Cómo escribir el lado del servidor Spring Boot jsonp

Cómo escribir el lado del servidor Spring Boot jsonp

5.Compatibilidad con Jackson @JsonView

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

......

}

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

jsonp

devolución de llamada

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 > 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 2.2.4.