我经常遇到类似这样的代码:
ngOnDestroy() {
this.subscriptions.forEach(subscription => subscription.unsubscribe());
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,如果这是,虽然在这个例子中是无害的,但是一个不好的做法,因为这里的含义是有一个返回值等于任何unsubscribe()方法返回.
上面的代码没有任何需要从箭头函数返回任何东西,但在那里有一个隐式返回,即,正文被翻译成return subscription.unsubscribe().
将该功能编码如下是一种更好的做法吗?(注意额外的花括号):
ngOnDestroy() {
this.subscriptions.forEach(subscription => {
subscription.unsubscribe();
});
}
Run Code Online (Sandbox Code Playgroud) 我正在使用OAuth关于Spring Boot的本教程:https: //spring.io/guides/tutorials/spring-boot-oauth2/
在"点击"应用中,我添加了:
security:
oauth2:
client:
clientId: 233668646673605
clientSecret: 33b17e044ee6a4fa383f46ec6e28ea1d
scope: email <------- ***** THIS IS WHAT I ADDED ***** ---------
accessTokenUri: https://graph.facebook.com/oauth/access_token
userAuthorizationUri: https://www.facebook.com/dialog/oauth
tokenName: oauth_token
authenticationScheme: query
clientAuthenticationScheme: form
resource:
userInfoUri: https://graph.facebook.com/me
logging:
level:
org.springframework.security: DEBUG
Run Code Online (Sandbox Code Playgroud)
我使用了我的一个测试Facebook帐户,一切正常.Principal对象包含电子邮件地址.上述配置文件中的凭据是本教程的一部分.
为了使用我自己的OAuth注册应用程序进行测试,我访问了我的常规帐户并创建了一个Facebook开发者帐户,其中包含一个使用Facebook登录作为产品的应用程序.
然后我将自己的clientId和clientSecret放入YAML文件中,重新打包应用程序并运行它.
未从Facebook收到同一测试Facebook帐户的电子邮件地址.
关于为什么教程中的那个工作而我的工作没有的任何想法?
有任何想法吗?
任何帮助将非常感激!
谢谢!
我有一个控制器,必须通过使其接受Stringas @RequestBody并返回String 来保持通用性,即String processRequest(@RequestBody String json) {...}
我无法控制该控制器的源代码,但可以通过编程来实现。
这会在传递和返回的真正对象是在一系列的请求消息的其他地方定义:RequestMessage1.java,RequestMessage2.java,等反应同样是:Response1.java,Response2.java1。
该控制器还插手这些请求的处理,以一个Processor看起来是这样的(Request1Processor.java)Response1 process(RequestMessage1 message)。
我的问题是这个。
有没有一种方法可以配置swagger,使其公开REST控制器类的终结点,即processRequest,但将所有这些Processor类及其输入和输出显示为该控制器的文档?
作为文档的一部分,我看到了添加“不可达”模型的功能。我尝试了像这样的文档中的方法:
@Autowired
private TypeResolver typeResolver;
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build()
.additionalModels(typeResolver.resolve(Date.class));
}
Run Code Online (Sandbox Code Playgroud)
但是,附加的Date模型没有显示在swagger-ui.html中。
我在这里做错了什么?
此外,是否有办法以某种方式显示RequestMessage1类型将对做出响应Response1?
我在这个url的Bootstrap文档中遇到了这一行:http: //getbootstrap.com/css/#grid-intro
它说:
第一个是有道理的.但是,我没有得到第二个.如果查看页面,网格示例确实会缩进,但不会将网格与其余内容对齐.它只是保持......嗯...缩进.:-)

有人可以向我解释他们在这里想说些什么吗?
谢谢!
这是情况...
我必须将List<Object>其传递到代码的相当通用的部分。在某些部分中,列表需要排序。
我不会预先知道列表中是什么类型的对象。但是,通过使用此列表的方式,我保证Comparable该列表中的每个项目都是相同类型并且可以彼此比较的合同。
换句话说,在某些情况下,真正的类型将最终成为String,在其他情况下,Date。在另一些情况下,什么Custom是implements Comparable<Custom>。
但是,在每种情况下,如果实类型为String,则列表中的所有项目均为type String。
让我更具体地说明一下这个问题...
这是我正在研究的课程:
public class Thing {
private Map<String, List<SourcedValue<Object>>> properties;
}
Run Code Online (Sandbox Code Playgroud)
然后,SourcedValue这是:
public class SourcedValue<T> {
private T value;
private List<Sources> sources;
}
Run Code Online (Sandbox Code Playgroud)
那么,您如何建议我宣布这一点?
java ×2
spring-boot ×2
css ×1
facebook ×1
generics ×1
html ×1
javascript ×1
oauth ×1
spring ×1
springfox ×1
swagger ×1
typescript ×1