Skip to content

Commit 7e160b8

Browse files
committed
restful风格复数形式统一管理
1 parent 77cdf07 commit 7e160b8

File tree

4 files changed

+21
-21
lines changed

4 files changed

+21
-21
lines changed

backend/app/api/jwt_security.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
pwd_context = CryptContext(schemes=['bcrypt'], deprecated='auto') # 密码加密
2020

21-
oauth2_schema = OAuth2PasswordBearer(tokenUrl='/v1/user/login') # 指明客户端请求token的地址
21+
oauth2_schema = OAuth2PasswordBearer(tokenUrl='/v1/users/login') # 指明客户端请求token的地址
2222

2323
headers = {"WWW-Authenticate": "Bearer"} # 异常返回规范
2424

backend/app/api/v1/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@
77

88
v1 = APIRouter(prefix='/v1')
99

10-
v1.include_router(user, tags=['用户'])
10+
v1.include_router(user, prefix='/users', tags=['用户'])
1111
v1.include_router(rd, prefix='/redis', tags=['测试-Redis'])

backend/app/api/v1/v1_test_redis.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,21 +8,21 @@
88
rd = APIRouter()
99

1010

11-
@rd.post('/redis')
11+
@rd.post('')
1212
async def test_redis():
1313
result = await redis_client.set('test', 'test')
1414
if result:
1515
return Response200(data=result)
1616

1717

18-
@rd.get('/redis')
18+
@rd.get('')
1919
async def get_redis():
2020
result = await redis_client.get('test')
2121
if result:
2222
return Response200(data=result)
2323

2424

25-
@rd.delete('/redis')
25+
@rd.delete('')
2626
async def test_redis():
2727
result = await redis_client.delete('test')
2828
if result:

backend/app/api/v1/v1_user.py

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
headers = {"WWW-Authenticate": "Bearer"}
3636

3737

38-
@user.post('/user/login', summary='用户登录调试', response_model=Token,
38+
@user.post('/login', summary='用户登录调试', response_model=Token,
3939
description='form_data登录,为直接配合swagger-ui认证使用,接口数据与json_data登录一致,自由选择,注释其一即可', )
4040
async def user_login(form_data: OAuth2PasswordRequestForm = Depends(), db: AsyncSession = Depends(get_db)) -> Any:
4141
current_user = await crud_user.get_user_by_username(db, form_data.username)
@@ -75,7 +75,7 @@ async def user_login(form_data: OAuth2PasswordRequestForm = Depends(), db: Async
7575
)
7676

7777

78-
# @user.post('/user/login', summary='用户登录', description='json_data登录,不能配合swagger-ui认证使用', response_model=Token)
78+
# @user.post('/login', summary='用户登录', description='json_data登录,不能配合swagger-ui认证使用', response_model=Token)
7979
# async def user_login(obj: Auth, db: AsyncSession = Depends(get_db)) -> Any:
8080
# current_user = await crud_user.get_user_by_username(db, obj.username)
8181
# if not current_user:
@@ -114,7 +114,7 @@ async def user_login(form_data: OAuth2PasswordRequestForm = Depends(), db: Async
114114
# )
115115

116116

117-
@user.post('/user/login/email/captcha', summary='获取邮箱登录验证码')
117+
@user.post('/login/email/captcha', summary='获取邮箱登录验证码')
118118
async def user_login_email_captcha(request: Request, obj: ELCode, tasks: BackgroundTasks,
119119
db: AsyncSession = Depends(get_db)) -> Any:
120120
if not await crud_user.check_email(db, obj.email):
@@ -136,7 +136,7 @@ async def user_login_email_captcha(request: Request, obj: ELCode, tasks: Backgro
136136
return Response200(msg='验证码发送成功')
137137

138138

139-
@user.post('/user/login/email', summary='邮箱登录', description='邮箱登录, 需同时必须开启login账号密码登录接口', response_model=Token)
139+
@user.post('/login/email', summary='邮箱登录', description='邮箱登录, 需同时必须开启login账号密码登录接口', response_model=Token)
140140
async def user_login_email(request: Request, obj: Auth2, db: AsyncSession = Depends(get_db)) -> Any:
141141
if not settings.REDIS_OPEN:
142142
raise HTTPException(status_code=500, detail='登陆失败, 服务器未启用此服务')
@@ -176,12 +176,12 @@ async def user_login_email(request: Request, obj: Auth2, db: AsyncSession = Depe
176176
)
177177

178178

179-
@user.post('/user/logout', summary='用户退出', dependencies=[Depends(get_current_user)])
179+
@user.post('/logout', summary='用户退出', dependencies=[Depends(get_current_user)])
180180
async def user_logout() -> Any:
181181
return Response200(msg='退出登录成功')
182182

183183

184-
@user.post('/user/register', summary='用户注册')
184+
@user.post('/register', summary='用户注册')
185185
async def user_register(obj: CreateUser, db: AsyncSession = Depends(get_db)) -> Any:
186186
username = await crud_user.get_user_by_username(db, obj.username)
187187
if username:
@@ -200,7 +200,7 @@ async def user_register(obj: CreateUser, db: AsyncSession = Depends(get_db)) ->
200200
})
201201

202202

203-
@user.post('/user/password/reset/captcha', summary='获取密码重置验证码', description='可以通过用户名或者邮箱重置密码')
203+
@user.post('/password/reset/captcha', summary='获取密码重置验证码', description='可以通过用户名或者邮箱重置密码')
204204
async def password_reset_captcha(username_or_email: str, response: Response, tasks: BackgroundTasks,
205205
db: AsyncSession = Depends(get_db)) -> Any:
206206
code = text_captcha()
@@ -247,7 +247,7 @@ async def password_reset_captcha(username_or_email: str, response: Response, tas
247247
return Response200(msg='验证码发送成功')
248248

249249

250-
@user.post('/user/password/reset', summary='密码重置请求')
250+
@user.post('/password/reset', summary='密码重置请求')
251251
async def password_reset(obj: ResetPassword, request: Request, response: Response,
252252
db: AsyncSession = Depends(get_db)) -> Any:
253253
pwd1 = obj.password1
@@ -265,17 +265,17 @@ async def password_reset(obj: ResetPassword, request: Request, response: Respons
265265
return Response200(msg='密码重置成功')
266266

267267

268-
@user.get('/user/password/reset/done', summary='重置密码完成')
268+
@user.get('/password/reset/done', summary='重置密码完成')
269269
async def password_reset_done() -> Any:
270270
return Response200(msg='重置密码完成')
271271

272272

273-
@user.get('/user', summary='查看用户信息')
273+
@user.get('/me', summary='查看用户信息')
274274
async def get_userinfo(current_user=Depends(get_current_user)) -> Any:
275275
return Response200(msg='查看用户信息成功', data=current_user)
276276

277277

278-
@user.put('/user', summary='更新用户信息')
278+
@user.put('/me', summary='更新用户信息')
279279
async def update_userinfo(
280280
username: str = Form(..., title='用户名'),
281281
email: str = Form(..., title='邮箱'),
@@ -335,7 +335,7 @@ async def update_userinfo(
335335
})
336336

337337

338-
@user.delete('/user/avatar', summary='删除头像文件')
338+
@user.delete('/me/avatar', summary='删除头像文件')
339339
async def delete_avatar(current_user=Depends(jwt_security.get_current_user), db: AsyncSession = Depends(get_db)) -> Any:
340340
current_filename = await crud_user.get_avatar_by_username(db, current_user.username)
341341
if current_filename is not None:
@@ -349,13 +349,13 @@ async def delete_avatar(current_user=Depends(jwt_security.get_current_user), db:
349349
return Response200(msg='删除用户头像成功')
350350

351351

352-
@user.get('/users', summary='获取用户列表', response_model=Page[GetUserInfo],
352+
@user.get('', summary='获取用户列表', response_model=Page[GetUserInfo],
353353
dependencies=[Depends(jwt_security.get_current_is_superuser)])
354354
async def get_all_users(db: AsyncSession = Depends(get_db)) -> Any:
355355
return await paginate(db, crud_user.get_users())
356356

357357

358-
@user.post('/user/{id}/super', summary='修改用户超级权限', dependencies=[Depends(jwt_security.get_current_is_superuser)])
358+
@user.post('/{id}/super', summary='修改用户超级权限', dependencies=[Depends(jwt_security.get_current_is_superuser)])
359359
async def super_set(id: int, db: AsyncSession = Depends(get_db)) -> Any:
360360
if await crud_user.get_user_by_id(db, id):
361361
if await crud_user.super_set(db, id):
@@ -364,7 +364,7 @@ async def super_set(id: int, db: AsyncSession = Depends(get_db)) -> Any:
364364
return Response404(msg=f'用户 {id} 不存在')
365365

366366

367-
@user.post('/user/{id}/action', summary='修改用户状态', dependencies=[Depends(jwt_security.get_current_is_superuser)])
367+
@user.post('/{id}/action', summary='修改用户状态', dependencies=[Depends(jwt_security.get_current_is_superuser)])
368368
async def active_set(id: int, db: AsyncSession = Depends(get_db)) -> Any:
369369
if await crud_user.get_user_by_id(db, id):
370370
if await crud_user.active_set(db, id):
@@ -373,7 +373,7 @@ async def active_set(id: int, db: AsyncSession = Depends(get_db)) -> Any:
373373
return Response404(msg=f'用户 {id} 不存在')
374374

375375

376-
@user.delete('/user', summary='用户注销', description='用户注销 != 用户退出,注销之后用户将从数据库删除')
376+
@user.delete('/me', summary='用户注销', description='用户注销 != 用户退出,注销之后用户将从数据库删除')
377377
async def delete_user(current_user=Depends(get_current_user), db: AsyncSession = Depends(get_db)) -> Any:
378378
current_filename = await crud_user.get_avatar_by_username(db, current_user.username)
379379
try:

0 commit comments

Comments
 (0)