如何在 ASP.NET Core (5.0) 中传递可选(可为空)[FromBody] 参数?如果我不在请求中发送正文,则会收到 415 不支持的媒体类型错误。可以配置吗?如果可以,如何在控制器或操作而不是应用程序级别上进行配置?我认为它必须与模型验证有关,但不确定。谢谢。
[HttpGet("[action]")]
public async Task<IActionResult> GetElementsAsync([FromBody] IEnumerable<int> elements = default)
{
var result = await dataService.GetData(elements);
return Ok(result);
}
Run Code Online (Sandbox Code Playgroud)
编辑:澄清一下:
到目前为止,我很高兴使用类似于以下的方法连接到我的 Gmail 帐户:
\npublic async Task<IEnumerable<MimeMessage>> GetMessagesAsync()\n{\n using var imapClient = new MailKit.Net.Imap.ImapClient();\n var secureSocketOptions = SecureSocketOptions.Auto;\n if (useSsl) secureSocketOptions = SecureSocketOptions.SslOnConnect;\n await imapClient.ConnectAsync(host, port, secureSocketOptions);\n\n await imapClient.AuthenticateAsync(login, password);\n\n await imapClient.Inbox.OpenAsync(FolderAccess.ReadOnly);\n\n var uids = await imapClient.Inbox.SearchAsync(SearchQuery.All);\n\n var messages = new List<MimeMessage>();\n foreach (var uid in uids)\n messages.Add(await imapClient.Inbox.GetMessageAsync(uid));\n\n imapClient.Disconnect(true);\n\n return messages;\n}\nRun Code Online (Sandbox Code Playgroud)\n自 2022 年 5 月 30 日起,这不再可能,因为对“不太安全的应用程序”的支持已被禁用:
\n\n\n为了确保您帐户的安全,从 2022 年 5 月 30 日起,\xe2\x80\x8b\xe2\x80\x8bGoogle 不再支持使用要求您仅使用您的帐户登录 Google 帐户的第三方应用或设备。用户名和密码。
\n
现在如何将 Mailkit 与 Gmail …
我想要实现的是,当视口比内容高时,内容应该垂直居中。当视口不够高并且内容溢出时,父级应该提供垂直滚动条。
当我将 Flexbox 内容对齐到中间并将内容设置为滚动时,它不仅会忽略内容边距,还会在顶部截断(假设视口比内容短)。有没有办法来解决这个问题?
html, body {
height: 100%;
}
body {
display: flex;
flex-wrap: nowrap;
flex-direction: row;
overflow: hidden;
}
.container {
overflow-y: auto;
display: flex;
flex-wrap: nowrap;
flex-direction: row;
align-items: center;
}
.content {
border: 1px solid grey;
background-color: lightgrey;
padding: 10px;
margin: 10px;
border-radius: 10px;
}Run Code Online (Sandbox Code Playgroud)
<div class="container">
<div class="content">
Start of the content
<br />
<br />
Middle of the content
<br />
<br />
End of the content
</div>
</div>
<div class="container">
<div class="content">
Start …Run Code Online (Sandbox Code Playgroud)