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

Django rest swagger post参数未显示在swagger文档上

微生昌勋
2023-03-14

我已经将swagger与django rest框架集成在一起,但是swagger文档没有创建一个输入框来发布post请求的数据

我的解析器设置,

REST_FRAMEWORK = {
'DEFAULT_PARSER_CLASSES': (
    'rest_framework.parsers.JSONParser',
    'rest_framework.parsers.FormParser',
    'rest_framework.parsers.MultiPartParser',
),

}

class TeamViewList(APIView, BaseView):
"""
    Class based view to handle all operations related to Team Model
"""
logger = logging.getLogger(__name__)

def get_serializer(self):
    return serializers.TeamSerializer

def post(self, request):
    """
    To create a new  team
    """
    try:
urlpatterns = [
url(r'^role/$', rest_views.UserTeamRoleView.as_view(), name='user_team_role'),
url(r'^teams/$', rest_views.TeamViewList.as_view(), name='team_list'),
url(r'^teams/(?P<name>[_a-zA-Z0-9\-]+)$', rest_views.TeamViewDetail.as_view(), name='team_detail'),

共有1个答案

融建树
2023-03-14

您必须为您的视图选择解析器或将default_parser_classes添加到您的DRF设置中,以查看Swagger上的表单或json对象。

REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': (
        'rest_framework.permissions.IsAuthenticated',
    ),
    'DEFAULT_FILTER_BACKENDS': (
        'rest_framework.filters.SearchFilter',
        'rest_framework.filters.OrderingFilter',
    ),
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'helpers.authentication.TokenAuthentication',
    ),
    'DEFAULT_MODEL_SERIALIZER_CLASS': (
        'rest_framework.serializers.ModelSerializer',
    ),
    'DEFAULT_PARSER_CLASSES': (
        'rest_framework.parsers.JSONParser',
        'rest_framework.parsers.FormParser',
        'rest_framework.parsers.MultiPartParser',
    ),
}
 类似资料:
  • 我找不到为什么Swagger没有显示带有文本区域“body”的POSTendpoint,以便我可以将JSON粘贴到其中。 我本以为会看到这样的页面,在PetStore中大摇大摆地发布 但我的表格只是在我点击“试用”后发布的 你能帮我一下吗? 专家 配置 } 应用程序 } 促销SwaggerBundle } 终点,终点

  • 在我的REST API补丁操作中,我使用的是v3 我试图为我的补丁操作添加更多的示例作为swagger模式。 请求主体: 目前我有以下类的请求模型。 在PatchOperation.java中 @补丁 有没有办法,我可以为getOP、getPath和getValue方法添加多个示例?谢谢你。

  • 当我将示例添加到我的swagger文档中并在swagger编辑器上进行测试时,它在任何地方都不会显示。有人能给我举一个例子,说明在什么地方有多个例子吗? 它来自:https://swagger.io/docs/specification/adding-examples/ 以下是一个yaml示例,它在在线招摇过市编辑器上不显示任何:

  • 在一个基于NodeJS的项目中,loopback-component-explorer(2.7.0)附带的Swagger没有显示HTML页面中的“参数”,我们可以在其中为Restendpoint提供所需的params,而不管http动词(例如GET、POST和PATCH等)。必须remoteMethod(...)定义遵循一些大摇大摆的要求吗? 谢了。

  • 因此,我对正在构建的文档中的Springfox Swagger有这个问题。我使用的是3.0.0版本。我有一个类似这样的类 但是,当我在我的Spring启动应用程序的swagger用户界面中查看模式模型页面时,参数b的值没有显示出来。我不能将描述放在MyObj中,因为这是一个通用类,用于多个实例,并且描述会根据使用而变化。 编辑:任何灵长类类型(如string或int)的描述都可以很好地工作,只要使

  • 我想在我的Swagger-ui界面上修改数据类型下的示例值。目前它包含以下默认值(由Swagger生成): 我想指定实数值,而不是“空”值。PS:我用带注释的spring boot:@ API operation,...