小编Aje*_*ngh的帖子

全局捕获快速 api 中的“异常”

我是非常新的 python 和 fastapi。我正在尝试在全局级别捕获未处理的异常。所以在main.py文件中的某个地方我写在下面:

@app.exception_handler(Exception)
async def exception_callback(request: Request, exc: Exception):
  logger.error(exc.detail)
Run Code Online (Sandbox Code Playgroud)

但上述方法从未执行过。但是如果我编写一个自定义异常并尝试捕获它(如下所示),它运行良好。

class MyException(Exception):
  #some code

@app.exception_handler(MyException)
async def exception_callback(request: Request, exc: MyException):
  logger.error(exc.detail)
Run Code Online (Sandbox Code Playgroud)

我已经完成了Catch 异常类型的 Exception 和 process body request #575。但是这个错误谈论访问请求正文。看到这个bug,感觉应该可以抓到Exception。FastApi 版本fastapi>=0.52.0

提前致谢 :)

exception python-3.x fastapi

13
推荐指数
4
解决办法
9007
查看次数

在使用NamedParameterJDBCTemplate进行插入时,获取"无效列类型"除外

我在使用下面的代码时将一行插入数据库(oracle 10g xe,jar:ojdbc14.jar)

String sql = "INSERT INTO SPONSOR_TB(ID,NAME,INDUSTRY_TYPE,IS_REPORTING_SPONSOR,IS_NOT_SOLICITE) VALUES(SEQ_SPONSOR_ID.NEXTVAL,:NAME1,:INDUSTRY_TYPE,:IS_REPORTING_SPONSOR,:IS_NOT_SOLICITE)";

MapSqlParameterSource paramSource = new MapSqlParameterSource();
paramSource.addValue("NAME1",sponsor.getName());
paramSource.addValue("INDUSTRY_TYPE", sponsor.getIndustryType());
paramSource.addValue("IS_NOT_SOLICITE", sponsor.getNotSoliciteFlag()?'Y':'N');
paramSource.addValue("IS_REPORTING_SPONSOR", sponsor.getReportingFlag()?'Y':'N');
KeyHolder generatedKeyHolder = new GeneratedKeyHolder();
namedParameterJdbcTemplate.update(sql, paramSource, generatedKeyHolder,new String[]{"ID"});
int id = generatedKeyHolder.getKey().intValue();
Run Code Online (Sandbox Code Playgroud)

表的结构是:

create table SPONSOR_TB
(
 id                   INTEGER not null,
 name                 VARCHAR2(20),
 industry_type        INTEGER not null,
 is_reporting_sponsor CHAR(1) not null,
 is_not_solicite      CHAR(1) not null 
)
Run Code Online (Sandbox Code Playgroud)

和SEQ_SPONSOR_ID是序列

赞助商类是:

public class Sponsor{
      private int id;
      private String name;
      private boolean reportingFlag;
      private boolean notSoliciteFlag;
      private int industryType;
      //getter …
Run Code Online (Sandbox Code Playgroud)

spring spring-mvc oracle10g spring-jdbc jdbctemplate

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

为什么OData API在Power Bi Desktop中多次调用

我有一个Power BI Desktop应用程序,可以访问一个数据源,该数据源是OData提要。在Power BI Desktop中刷新数据时,需要花费更长的时间。在弹出窗口中单击刷新后,它会显示“正在评估”和“正在加载2 KB ...”很长时间。从OData API的日志中,我可以看到OData feed被调用了两次,每个请求花费的时间相同。

为什么Power BI桌面多次调用OData feed?有没有办法减少通话次数?

注意:

  1. 我已经在Power BI和Power Query Blog中进行了引用查询和缓存,但是就我而言,我没有使用任何转换。刚刚加载OData feed。
  2. 在Power BI社区中浏览过同一问题的帖子,尝试使用建议的方法,但问题仍然存在。

powerbi powerbi-desktop

5
推荐指数
1
解决办法
239
查看次数