我无法理解如何将烧瓶应用分成多个文件.
我正在创建一个Web服务,我想将api分成不同的文件(AccountAPI.py,UploadAPI.py,...),所以我没有一个巨大的python文件.
我已经读过你可以用蓝图做到这一点,但我不完全确定路线对我来说是正确的.
最终我想运行一个Main python文件并包含其他文件,这样当它运行时,它们被认为是一个大文件.
例如,如果我有Main.py和AccountAPI.py我希望能够这样做:
Main.py:
from flask import Flask
import AccountAPI
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run()
Run Code Online (Sandbox Code Playgroud)
AccountAPI.py:
@app.route("/account")
def accountList():
return "list of accounts"
Run Code Online (Sandbox Code Playgroud)
我知道这个例子显然不会起作用,但有可能做那样的事吗?
谢谢
我已经搜索了很多并且无法找到这个:有没有办法让一个spring websocket stomp服务器可以根据sessionId断开客户端(或者真的基于任何东西)?
在我看来,一旦客户端连接到服务器,没有任何东西允许服务器断开客户端.
我的问题是带有弹簧安全性的自定义注释的副本,但它没有得到答复,我相信应该有一个简单的问题解决方案.
基本上不是做:
@PreAuthorize("hasPermission(T(fully.qualified.Someclass).WHATEVER, T(fully.qualified.Permission).READ")
Run Code Online (Sandbox Code Playgroud)
我想要做:
@PreAuthorize(Someclass.WHATEVER, Permission.READ)
Run Code Online (Sandbox Code Playgroud)
或者可能是一些自定义注释,可以很容易地与弹簧安全连接
这对我来说似乎更清洁,如果可以,我希望能够做到这一点.
java spring authorization spring-security spring-annotations
我目前正在使用第三方库提供的注释,我想知道是否有办法在它周围创建另一个'包装器注释',这样我就不需要所有参数了.
例如,我可以像这样使用库注释:
@LibraryAnnotation(Parameter1, Parameter2, Parameter3)
Run Code Online (Sandbox Code Playgroud)
但在我的情况下,Parameter2和Parameter3总是相同,所以我想创建一个只接受Parameter1的注释
@MyAnnotation(Parameter1)
Run Code Online (Sandbox Code Playgroud)
但是会使用所有参数调用另一个注释,类似于为第三方方法创建包装器的方式.
我创建了一个自定义异常,并且我有一个异常映射器,我想在抛出异常时调用它,这样我就可以返回正确的http返回代码和消息,但由于某种原因它不能用于我的异常.
这是相关的代码
我的异常类:
public class MyException extends ApplicationRuntimeException
{
private static final long serialVersionUID = 1L;
public MyException ()
{
super();
}
public MyException (String message)
{
super(message);
}
public MyException (String message, ErrorCode errorCode)
{
super(message, errorCode);
}
public MyException (Throwable t)
{
super(t);
}
public MyException (String message, Throwable t)
{
super(message, t);
}
}
Run Code Online (Sandbox Code Playgroud)
我的异常映射器类
@Provider
public class MyExceptionMapper implements ExceptionMapper<Exception>
{
@Override
public Response toResponse(Exception exception)
{
//code
return response;
}
}
Run Code Online (Sandbox Code Playgroud)
CXF-配置
<jaxrs:server id="serviceId" address="/"> …Run Code Online (Sandbox Code Playgroud) java ×3
spring ×3
annotations ×1
cxf ×1
flask ×1
python ×1
spring-boot ×1
stomp ×1
web-services ×1
wrapper ×1