小编Iac*_*opo的帖子

新gTLDS的apache commons-validator替代方案

我需要验证电子邮件和域名.我只需要正式验证,不需要whois或其他形式的域查找.

目前我正在使用apache的commons-validator v1.4.0

不幸的是,我的客户使用新的gTLD,例如DomainValidator类尚不支持的.bike或.productions.有关更多详细信息,请参阅Apache的Jira问题.

我可以轻松地在Maven POM中包含任何声音替代品吗?

java apache validation

8
推荐指数
1
解决办法
2724
查看次数

FastAPI - 无法从中间件访问路径参数

我的典型路径是这样的

/user/{user_id}/resource/{resource_id}
Run Code Online (Sandbox Code Playgroud)

我有一个验证方法,已经用异步 python 编写,如下所示:

async def is_allowed(user_id: int, resource_id: int) -> bool
Run Code Online (Sandbox Code Playgroud)

返回一个布尔值:如果用户可以访问该资源,则返回 true,否则返回 false。

我想编写一个middleware调用is_allowed从路径中提取变量的程序。

我摆弄了一下,但找不到如何获取它们:我希望从request.path_params.

一个更完整的示例(根据@Marcelo Trylesinski 回答进行编辑):

import logging

from fastapi import FastAPI
from starlette.requests import Request
from starlette.responses import Response

app = FastAPI()

_logger = logging.getLogger()
_logger.setLevel(logging.DEBUG)


async def is_allowed(user_id, resource_id):
    _logger.error(user_id)
    _logger.error(resource_id)
    return True


@app.middleware('http')
async def acl(request: Request, call_next):
    user_id = request.path_params.get("user_id", None)
    resource_id = request.path_params.get("resource_id", None)
    allowed = await is_allowed(user_id, resource_id)
    if not allowed:
        return Response(status_code=403) …
Run Code Online (Sandbox Code Playgroud)

python-3.x fastapi

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

在AJAX调用中返回JSON和HTML

我有一些页面使用了大量的javascript(例如,对数据集进行排序和过滤).

典型的用法是显示复杂项目列表(通常<li>与内部的一些HTML一起呈现):用户可以删除,编辑或添加具有特定表单的项目.由于项目很复杂,我保留一组javascript对象来执行任何类型的操作,例如在执行任何操作之前验证用户输入.

用户的操作和详细信息通过异步调用发送到服务器:结果到达后,我必须更新HTML和javascript数组.

我使用这个hack:服务器将json编码的数据结构和更新的HTML作为单个字符串返回.在数据到达时,一些javascript代码拆分响应并将第一个块解析为json(更新数组)并将第二个块放入容器的内部html中,替换先前的内容.

我不想从数据结构生成HTML,因为它不是单人应用程序,并且Web设计人员经常(并且独立地)更改HTML布局.我都不想从HTML重新创建数据结构(过于复杂且容易出错).

这个系统运行得很好,只有大内容有一些问题,是跨浏览器(基于jQuery构建)并且似乎没有大的性能问题.

问题是:我是否遗漏了使这种解决方案变得糟糕的微妙(或可能是显而易见的)的东西?它是否存在更简单,更好的解决方案?

顺便说一句,服务器运行PHP.

谢谢.

javascript ajax optimization json

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

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

标签 统计

ajax ×1

apache ×1

c ×1

fastapi ×1

java ×1

javascript ×1

json ×1

optimization ×1

python-3.x ×1

validation ×1