小编use*_*183的帖子

在不需要返回时忽略JavaScript或TypeScript中的箭头函数内隐式返回是错误的

我经常遇到类似这样的代码:

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)

javascript typescript

4
推荐指数
1
解决办法
593
查看次数

Facebook OAuth不会返回用户的电子邮件

我正在使用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帐户的电子邮件地址.

关于为什么教程中的那个工作而我的工作没有的任何想法?

这是我的Facebook登录配置的样子: 在此输入图像描述

有任何想法吗?

任何帮助将非常感激!

谢谢!

spring facebook oauth facebook-graph-api spring-boot

3
推荐指数
1
解决办法
1520
查看次数

如何在Swagger中为无法访问的控制器记录其他模型?

我有一个控制器,必须通过使其接受Stringas @RequestBody并返回String 来保持通用性,即String processRequest(@RequestBody String json) {...}

我无法控制该控制器的源代码,但可以通过编程来实现。

这会在传递和返回的真正对象是在一系列的请求消息的其他地方定义:RequestMessage1.javaRequestMessage2.java,等反应同样是:Response1.javaResponse2.java1

该控制器还插手这些请求的处理,以一个Processor看起来是这样的(Request1Processor.javaResponse1 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

java swagger spring-boot springfox

3
推荐指数
1
解决办法
1711
查看次数

Bootstrap的.row margin-left:-15px - 为什么它缩进(来自文档)

我在这个url的Bootstrap文档中遇到了这一行:http: //getbootstrap.com/css/#grid-intro

它说:

  • 列通过填充创建装订线(列内容之间的间隙).该填充在第一列和最后一列的行中通过.rows上的负余量进行偏移.
  • 负边距是以下示例缩进的原因.这样,网格列中的内容与非网格内容对齐.

第一个是有道理的.但是,我没有得到第二个.如果查看页面,网格示例确实会缩进,不会将网格与其余内容对齐.它只是保持......嗯...缩进.:-) 在此输入图像描述

有人可以向我解释他们在这里想说些什么吗?

谢谢!

html css twitter-bootstrap twitter-bootstrap-3

2
推荐指数
1
解决办法
1590
查看次数

如何声明每个实现的对象的Java List Comparable

这是情况...

我必须将List<Object>其传递到代码的相当通用的部分。在某些部分中,列表需要排序。

我不会预先知道列表中是什么类型的对象。但是,通过使用此列表的方式,我保证Comparable该列表中的每个项目都是相同类型并且可以彼此比较的合同。

换句话说,在某些情况下,真正的类型将最终成为String,在其他情况下,Date。在另一些情况下,什么Customimplements 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 generics

0
推荐指数
1
解决办法
76
查看次数