当前位置: 首页 > 知识库问答 >
问题:

在Django REST API中,仅POST APIView是否应该定义GET方法?

单凯捷
2023-03-14

一般来说,我对Django和REST API相当陌生。我使用Django REST框架公开了一个数据导入URL,即/api/data/import。

我目前有一个关联的APIView,它实现了一个POST方法,但是在GET上返回405 - Bad请求,因为当GET没有被显式实现时,这是默认的框架行为。

这篇MDN文章强烈建议总是实现GET,所以我应该只返回一个空的200响应吗?这也有点像我错误地使用了REST。

谢啦

共有1个答案

盖弘毅
2023-03-14

如果你想遵循这些建议,你应该返回一个204,这意味着“没有内容”,看起来很合适。有一些东西,所以它存在-你可以发布到它-但它是空的。

我认为405应该没问题——那里有一些东西,但不是GET。

 类似资料:
  • 也许这是一个容易被删除的问题,但以防万一。 我最近在我的服务上执行注释方法时,怀疑这些方法是否应该包含在服务的接口上。 但是,另一方面,我的服务上有一个公共方法,但它不包括在接口上,出于某种原因,这对我来说很难闻(也许这只是一种习惯)。 那么,怎么办呢?这方面有什么惯例吗?

  • 我正在努力实现未来 根据官方文件,我们可以推断: > 方法取消()不会抛出像InterruptedException或ExecutionException这样的异常。此外,它没有超时的变体。所以看起来,它不应该被阻塞。 文件说 此方法返回后,对isDone()的后续调用将始终返回true。 但是 boolean isDone()如果此任务完成,则返回true。 因此,如果我们在任务处理时运行取消(

  • 问题内容: 在Java中,表示单引号(单引号)字符,并且表示双引号(双引号)字符。 因此,效果很好。 但是,也不会产生任何编译错误。 同样,有效,但也有效。 在Java中,哪个更好用?在HTML或CSS中,诸如此类的情况更为常见(对于此类标记,我认为这是使用引号的唯一方法),但是在Java中,我通常会看到人们使用转义字符,例如 问题答案: 您无需将字符串中的字符转义(用包裹),也不必将字符中的字符

  • 对于Java8的新日期时间库,将字符串解析为日期的方法是使用。、和都有一个静态分析方法,它接受字符串和格式化程序。一个潜在的问题是,如果您的DateTimeFormat不包含时间部分(或者对于DateTime,是一个日期部分),那么即使您的模式匹配,您最终也会得到一个解析错误。 示例 我的问题是,假设你有一个像这样的通用方法 是否有一种方法可以通过应用一些默认逻辑来确定需要调用哪个静态解析方法来将

  • AccessibilityService在系统的内存管理方面与普通服务有何不同? 我想问的是:系统可以为了节省内存而关闭AccessibilityService吗?如果可以,当您进入AccessibilityService时,您会看到它打开还是关闭?用户是否必须再次手动打开? 使用startForeground是否有助于使AccessibilityService保持活动状态? 在一个类似的问题中,

  • 问题内容: 使用原生(ES6)Promise。我应该以错误拒绝: 还是我应该拒绝一个字符串: 浏览器行为有什么区别? 问题答案: 是的,绝对可以。字符串不是错误,通常当您遇到错误时,这意味着出了点问题,这意味着您将真正享受良好的堆栈跟踪。没有错误-没有堆栈跟踪。 就像try / catch一样,如果您添加到抛出拒绝中,则希望能够记录堆栈跟踪,而抛出字符串会为您带来麻烦。 我在移动设备上,因此答案很