package com.picacho.springsecurity.config;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.List;
public class RestResult {
// 定义jackson对象
private static final ObjectMapper MAPPER = new ObjectMapper();
private String status;
private String msg;
private Object data;
public static RestResult build(String status, String msg, Object data) {
return new RestResult(status, msg, data);
}
public static RestResult ok(Object data) {
return new RestResult(data);
}
public static RestResult ok() {
return new RestResult(null);
}
public RestResult() {
}
public static RestResult build(String status, String msg) {
return new RestResult(status, msg, null);
}
public RestResult(String status, String msg, Object data) {
this.status = status;
this.msg = msg;
this.data = data;
}
public RestResult(Object data) {
this.status = "200";
this.msg = "OK";
this.data = data;
}
public Boolean isOK() {
return this.status == "200";
}
/**
* 有object对象的转化
* @param jsonData
* @param clazz
* @return
*/
public static RestResult formatToPojo(String jsonData, Class<?> clazz) {
try {
if (clazz == null) {
return MAPPER.readValue(jsonData, RestResult.class);
}
JsonNode jsonNode = MAPPER.readTree(jsonData);
JsonNode data = jsonNode.get("data");
Object obj = null;
if (clazz != null) {
if (data.isObject()) {
obj = MAPPER.readValue(data.traverse(), clazz);
} else if (data.isTextual()) {
obj = MAPPER.readValue(data.asText(), clazz);
}
}
return build(jsonNode.get("status").asText(), jsonNode.get("msg").asText(), obj);
} catch (Exception e) {
return null;
}
}
/**
* 没有object对象的转化
* @param json
* @return
*/
public static RestResult format(String json) {
try {
return MAPPER.readValue(json, RestResult.class);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* Object是集合转化
* @param jsonData
* @param clazz
* @return
*/
public static RestResult formatToList(String jsonData, Class<?> clazz) {
try {
JsonNode jsonNode = MAPPER.readTree(jsonData);
JsonNode data = jsonNode.get("data");
Object obj = null;
if (data.isArray() && data.size() > 0) {
obj = MAPPER.readValue(data.traverse(),
MAPPER.getTypeFactory().constructCollectionType(List.class, clazz));
}
return build(jsonNode.get("status").asText(), jsonNode.get("msg").asText(), obj);
} catch (Exception e) {
return null;
}
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
spring-security初体验demo
共106个文件
xml:80个
java:8个
class:8个
需积分: 0 0 下载量 117 浏览量
2023-01-30
23:27:32
上传
评论
收藏 68KB ZIP 举报
温馨提示
spring-security初体验demo
资源推荐
资源详情
资源评论
收起资源包目录
spring-security初体验demo (106个子文件)
RestResult.class 5KB
WebSecurityConfig.class 4KB
SecurityRequestController.class 3KB
MyUserDetailsService.class 2KB
MyAuthenticationSuccessHandler.class 2KB
MvcConfig.class 1KB
SpringSecurityApplication.class 783B
SpringSecurityApplicationTests.class 581B
.gitignore 176B
login.html 761B
login.html 761B
hello.html 354B
hello.html 354B
home.html 283B
home.html 283B
spring-security.iml 9KB
RestResult.java 3KB
WebSecurityConfig.java 2KB
SecurityRequestController.java 2KB
MyAuthenticationSuccessHandler.java 1KB
MyUserDetailsService.java 1KB
MvcConfig.java 716B
SpringSecurityApplication.java 338B
SpringSecurityApplicationTests.java 229B
application.properties 1B
application.properties 1B
workspace.xml 4KB
pom.xml 2KB
compiler.xml 879B
jarRepositories.xml 845B
Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_13_2.xml 766B
Maven__org_thymeleaf_extras_thymeleaf_extras_java8time_3_0_4_RELEASE.xml 755B
Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_6_7.xml 743B
Maven__org_springframework_boot_spring_boot_starter_thymeleaf_2_6_7.xml 736B
Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml 730B
Maven__org_springframework_boot_spring_boot_starter_security_2_6_7.xml 729B
Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_13_2.xml 725B
Maven__org_springframework_boot_spring_boot_starter_logging_2_6_7.xml 722B
Maven__org_springframework_boot_spring_boot_starter_tomcat_2_6_7.xml 715B
Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_13_2.xml 711B
Maven__org_springframework_boot_spring_boot_autoconfigure_2_6_7.xml 708B
Maven__org_springframework_security_spring_security_crypto_5_6_3.xml 703B
Maven__org_springframework_security_spring_security_config_5_6_3.xml 703B
Maven__org_springframework_boot_spring_boot_starter_test_2_6_7.xml 701B
Maven__org_springframework_boot_spring_boot_starter_json_2_6_7.xml 701B
Maven__org_springframework_boot_spring_boot_starter_web_2_6_7.xml 694B
Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_62.xml 690B
Maven__org_springframework_security_spring_security_core_5_6_3.xml 689B
Maven__org_springframework_security_spring_security_web_5_6_3.xml 682B
Maven__com_fasterxml_jackson_core_jackson_annotations_2_13_2.xml 681B
Maven__com_fasterxml_jackson_core_jackson_databind_2_13_2_1.xml 674B
Maven__org_thymeleaf_thymeleaf_spring5_3_0_15_RELEASE.xml 671B
Maven__org_springframework_boot_spring_boot_starter_2_6_7.xml 666B
Maven__org_junit_platform_junit_platform_commons_1_8_2.xml 663B
Maven__jakarta_activation_jakarta_activation_api_1_2_2.xml 663B
Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml 663B
Maven__org_junit_platform_junit_platform_engine_1_8_2.xml 656B
Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_62.xml 655B
Maven__org_junit_jupiter_junit_jupiter_params_5_8_2.xml 645B
Maven__org_springframework_boot_spring_boot_test_2_6_7.xml 645B
Maven__org_junit_jupiter_junit_jupiter_engine_5_8_2.xml 645B
Maven__jakarta_xml_bind_jakarta_xml_bind_api_2_3_3.xml 641B
Maven__org_apache_tomcat_embed_tomcat_embed_el_9_0_62.xml 641B
Maven__org_springframework_spring_expression_5_3_19.xml 639B
Maven__org_apache_logging_log4j_log4j_to_slf4j_2_17_2.xml 638B
Maven__com_fasterxml_jackson_core_jackson_core_2_13_2.xml 632B
Maven__org_mockito_mockito_junit_jupiter_4_0_0.xml 628B
Maven__org_junit_jupiter_junit_jupiter_api_5_8_2.xml 624B
Maven__org_attoparser_attoparser_2_0_5_RELEASE.xml 619B
Maven__org_springframework_spring_context_5_3_19.xml 618B
Maven__org_thymeleaf_thymeleaf_3_0_15_RELEASE.xml 615B
Maven__net_bytebuddy_byte_buddy_agent_1_11_22.xml 615B
Maven__org_springframework_spring_webmvc_5_3_19.xml 611B
Maven__org_springframework_boot_spring_boot_2_6_7.xml 610B
Maven__org_unbescape_unbescape_1_1_6_RELEASE.xml 608B
Maven__ch_qos_logback_logback_classic_1_2_11.xml 605B
Maven__org_springframework_spring_beans_5_3_19.xml 604B
Maven__org_apache_logging_log4j_log4j_api_2_17_2.xml 603B
Maven__org_apiguardian_apiguardian_api_1_1_2.xml 602B
Maven__org_springframework_spring_test_5_3_19.xml 597B
Maven__org_springframework_spring_core_5_3_19.xml 597B
Maven__org_junit_jupiter_junit_jupiter_5_8_2.xml 596B
Maven__org_springframework_spring_aop_5_3_19.xml 590B
Maven__org_springframework_spring_jcl_5_3_19.xml 590B
Maven__org_springframework_spring_web_5_3_19.xml 590B
Maven__net_minidev_accessors_smart_2_4_8.xml 586B
Maven__ch_qos_logback_logback_core_1_2_11.xml 584B
Maven__com_jayway_jsonpath_json_path_2_6_0.xml 576B
Maven__net_bytebuddy_byte_buddy_1_11_22.xml 573B
Maven__org_assertj_assertj_core_3_21_0.xml 572B
Maven__org_skyscreamer_jsonassert_1_5_0.xml 567B
Maven__org_mockito_mockito_core_4_0_0.xml 565B
Maven__org_xmlunit_xmlunit_core_2_8_4.xml 565B
Maven__org_slf4j_jul_to_slf4j_1_7_36.xml 564B
Maven__org_opentest4j_opentest4j_1_2_0.xml 563B
Maven__org_projectlombok_lombok_1_18_0.xml 554B
Maven__net_minidev_json_smart_2_4_8.xml 551B
Maven__com_alibaba_fastjson_1_2_49.xml 544B
Maven__org_slf4j_slf4j_api_1_7_36.xml 543B
Maven__org_objenesis_objenesis_3_2.xml 538B
共 106 条
- 1
- 2
资源评论
picacho_pkq
- 粉丝: 76
- 资源: 40
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功