js中数组可以使用filter过滤,但如果是json对象要怎么过滤?json对象是没有filter方法的吧?

js中数组可以使用filter过滤,但如果是json对象要怎么过滤?json对象是没有filter方法的吧?,第1张

过滤器(filter)正如其名,作用就是接收一个输入,通过某个规则进行处理,然后返回处理后的结果。主要用在数据的格式化上,例如获取一个数组中的子集,对数组中的元素进行排序等。ng内置了一些过滤器,它们是:currency(货币)、date(日期)、filter(子串匹配)、json(格式化json对象)、limitTo(限制个数)、lowercase(小写)、uppercase(大写)、number(数字)、orderBy(排序)。总共九种。除此之外还可以自定义过滤器,这个就强大了,可以满足任何要求的数据处理。AngularJS中为我们提供了一些内置的过滤器,这里列举一些自定义过滤器的场景。

Vue中computed就是实时计算使用。Vue检测到数据发生变动时就会执行对相应数据有引用的函数。

下面是一个demo。引用自己的vue.js就可以看效果。利用computed可以做一些监控之类的效果。

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<meta http-equiv="X-UA-Compatible" content="chrome=1,IE=edge">

<title>title</title>

<link href="" rel="stylesheet">

<script src="js/vue.js"></script>

</head>

<body>

Vue.js 不是一个框架,它只是一个提供 MVVM 风格的双向数据绑定的库,专注于 UI 层面。Vue.js

提供的核心是 MVVM 中的 VM,也就是 ViewModel。ViewModel 负责连接 View 和

Model,保证视图和数据的一致性。如果你用过 AngularJS,你会发现 Vue.js 同时还借鉴了 Angular 的 directive

和 filter 的概念,但是 API

要简单易懂得多,整体也轻巧得多。在组件化这一点上,Vue.js 和 facebook 的 React.js

更为接近,可以定义可复用和嵌套的组件类,并且可以在模板中声明式地使用组件。

Vue.js 的最大特点就是上手简单:你不需要理解 Angular 的依赖注入是什么东东、$digest 和 $apply, preLink 和

postLink 有什么区别,也不需要像 React 那样编译 JSX,更不需要像 Knockout 那样把所有的属性都变成函数… 在

Vue.js 的定义中,View 就是用户实际看到的 DOM 元素,而 Model 就是原生的JavaScript

对象。作为开发者,真正需要关注的只有 ViewModel,也就是 Vue.js 所提供的 Vue 构建函数.

在默认的情况下,spring security oauth2 在发生异常情况下,返回的格式并不符合现实需要,其格式是:

我们一般需要是这种格式

对于oauth2的异常,其类主要是 OAuth2Exception ,默认处理这些异常的是DefaultWebResponseExceptionTranslator,其错误主要是包含oauth2相关的错误,就类似以下的。

DefaultWebResponseExceptionTranslator处理的OAuth2Exception,其类可见的序列化器如下,可以得出默认的返回格式:

所以我们需要重新定义自己的WebResponseExceptionTranslator,以及自己的oauth2异常以及其序列化器(也可以不定义,重写handleOauth2Exception即可)

自定义oauth2异常处理类,CustomWebResponseExceptionTranslator,模仿DefaultWebResponseExceptionTranslator即可,下面给出关键部分,注意result是自己定义返回格式的bean,含有msg和code。最后在认证服务器配置一下就可。

这里说的是oauth2的异常处理,其中还有认证的异常,我们这里使用basic的认证方式,如果发生异常,是不会走这个自定义的异常处理器的,所以在securityConfig中配置,在httpBasic后面配置的那里处理了。

这里加上 http.addFilterBefore(customBasicAuthenticationFilter, BasicAuthenticationFilter.class)

这个filter其实就是验证一些必要参数有无缺失,并且返回自定义的格式,

还有需要注意是:因为是授权码模式,在获取token的时候,需要传clientId和clientSecret,这是获取token的验证我们需要先于一步再到后面,所以我们会定义个过滤器处理,因为在测试过程,如果不先于验证clientId和clientSecret,返回的错误可能不是预期之中的,这里还不清楚为啥会出现那些特殊情况,所以还是先于一步先校验了、

认证服务器配置上自定义的filter,这个filter会先执行再到后面/oauth2/token链接,还有这里不开启allowFormAuthenticationForClients,还是只限于basic,如果开启了,有可能返回不正确的异常格式,具体原因不明,但后续肯定是不走basicFilter的,自定义的filter还是验证参数完整性和认证clientId和clientSecret身份是否正确。

例示参考:

https://blog.csdn.net/qq_31063463/article/details/83752459


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10009042.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存