Restful 인터페이스 사양 및 Postman 디버깅 도구 소개
최근에 RESTful 인터페이스 사양에 대해 알아보고 Postman을 사용하여 소개했습니다. 여기에 관련 RESTful 인터페이스 사양을 기록하겠습니다.
1.
REST: HTTP, URI, XML, JSON, HTML 등과 같이 널리 사용되는 표준 및 프로토콜을 사용하는 웹 서비스용 아키텍처 스타일입니다. 이는 경량의 크로스 플랫폼, 크로스 언어 아키텍처 디자인입니다. ; 디자인입니다. 스타일은 표준이 아니라 아이디어입니다.
RESTful: 해당 중국어는 RESTful입니다. Restful 웹 서비스는 REST 스타일을 준수하는 웹 서비스인 일반적인 REST 애플리케이션입니다. RESTful 웹 서비스는 일종의 ROA(Resource-Oriented Architecture)입니다. ) [추천: 웹 프론트엔드] RESTful의 본질은 소프트웨어 아키텍처 스타일입니다. 핵심은 리소스 지향적이며 문제를 해결합니다.
개발 복잡성 감소- 시스템 확장성 향상
SOAP(Simple Object Access Protocol): 데이터 교환을 위한 프로토콜 사양으로, 가볍고 간단한 XML 기반 프로토콜입니다. REST(Representational State Transfer): 개발의 복잡성을 줄이고 시스템의 확장성을 향상시킬 수 있는 소프트웨어 아키텍처 스타일입니다.
: SOAP
: 자체 프로토콜의 콘텐츠를 지속적으로 확장하는 다양한 요구로 인해 SOAP 처리 성능이 저하되었습니다. 동시에 사용 편의성과 학습 비용도 증가했습니다. RESTful
: 리소스 중심 인터페이스 설계 및 작업 추상화로 인해 개발자의 잘못된 설계를 단순화하고 HTTP의 원래 애플리케이션 프로토콜 설계 개념을 최대한 활용합니다.
: RESTful
은 리소스 기반 서비스 인터페이스에 매우 적합하며 특히 효율성 요구 사항은 높지만 보안 요구 사항은 낮은 시나리오에 적합합니다. SOAP
의 성숙함은 여러 개발 언어에 제공되어야 하고 더 높은 보안 요구 사항을 갖는 인터페이스 디자인에 편의성을 가져올 수 있습니다. 간단히 말해서:
보안
: SOAP는 REST보다 우수합니다. 효율성과 사용 용이성
: REST가 더 좋습니다. 성숙도
: 일반적으로 SOAP는 성숙도 측면에서 REST보다 낫습니다.
:
리소스 경로: RESTful 아키텍처에서 각 URL은 리소스를 나타내므로 URL에는 동사가 없고 명사만 있을 수 있습니다. 일반적으로 API의 명사는 복수형이어야 합니다.
HTTP 동사: 리소스에 대한 작업(CURD)은 HTTP 동사(술어)로 표현됩니다.
GET: 서버에서 리소스(하나 이상의 항목)를 가져옵니다.- POST: 서버에 새 리소스를 만듭니다.
- PUT: 서버의 리소스를 업데이트합니다(클라이언트는 변경된 전체 리소스를 제공합니다).
- DELETE: 서버에서 리소스를 삭제합니다.
- 동물원을 예로 들어보겠습니다(다양한 동물 및 직원에 대한 정보 포함):
https://api.example.com/v1/zoos //动物园资源 https://api.example.com/v1/animals //动物资源 https://api.example.com/v1/employees //雇员资源
- GET /zoos/ID: 지정된 동물원에 대한 정보 가져오기
- PUT / Zoos/ID: 지정된 동물원의 정보 업데이트
- DELETE /zoos/D: 동물원 삭제
필터 정보:
?limit=10: 반환된 레코드 수 지정- ?offset =10: 반환된 레코드의 시작 위치를 지정합니다.
- ?page=2&per_page=100: 페이지와 페이지당 레코드 수를 지정합니다.
- ?sortby=name&order=asc: 반환된 결과를 정렬할 속성과 정렬 순서를 지정합니다.
- ?animal_type_id=1: 필터 조건 지정
상태 코드 :
200(OK) - 기존 리소스가 변경된 경우- 201( 생성됨 ) - 새 리소스가 생성된 경우
- 202 ( 수락 ) - 처리 요청이 수락되었지만 완료되지 않았습니다 (비동기 처리)
- 301 (영구적으로 이동됨) - 리소스의 URI가 업데이트되었습니다
- 303 ( 기타 참조 ) - 기타(로드 밸런싱 등)
- 400(잘못된 요청) -잘못된 요청을 참조
- 404(찾을 수 없음) -리소스가 존재하지 않습니다
- 406(허용되지 않음) -서버가 필요한 표현을 지원하지 않습니다
- 409(충돌) -일반적인 충돌
- 412(전제 조건 실패) - 전제 조건 실패(예: 조건 업데이트 실행 시 충돌)
- 415(지원되지 않는 미디어 유형) - 수신된 표현이 지원되지 않습니다.
- 500(내부 서버 오류) - 일반 오류 응답
- 503(서비스 사용할 수 없음) - 현재 서비스를 사용할 수 없습니다. 요청 처리
오류 처리 : 반환된 정보는 오류를 키 이름으로, 오류 정보를 키 값으로 사용합니다.
{ error: “Invalid API key” }
결과 반환: 4.REST风格的接口测试流程: controller层的代码(service层省略): 利用Postman测试(url路径要对应上): 위 내용은 Restful 인터페이스 사양 및 Postman 디버깅 도구 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!
我们直接用一张图来介绍吧5.代码编写和Postman测试:
工具:idea,mysql数据库,Postman
数据库表数据:
实体类:@Data
@ApiModel("用户实体类")
public class User extends Model<User> implements Serializable {
@ApiModelProperty("用户id")
@NotNull(message = "用户id不能为空")
private Integer id;
@NotBlank(message = "用户名不能为空")
@ApiModelProperty("用户名")
private String name;
@Min(1)
@Max(100)
@ApiModelProperty("用户年龄")
private Integer age;
@NotEmpty(message = "邮箱不能为空")
@ApiModelProperty("用户邮箱")
@Email
private String email;
@ApiModelProperty("0:未删除 1:已删除")
@TableLogic
private Integer deleted;
@NotBlank(message = "密码不能为空")
@ApiModelProperty("用户密码")
private String password;
}
@Api(tags = "用户管理")
@RestController
@RequestMapping("/MyWebsite/user")
public class UserController {
@Autowired
private UserServiceImpl userServiceimpl;
@ApiOperation(value = "新增用户")
@PostMapping
public int insertUser(User user) {
System.out.println("新增成功");
return userServiceimpl.insertUser(user);
}
@ApiOperation(value = "修改用户信息")
@PutMapping
public void updateUser(@RequestBody @Valid User user) {
userServiceimpl.updateUser(user);
System.out.println("修改成功");
}
@ApiOperation(value = "删除用户", notes = "根据id删除用户")
@DeleteMapping("/{id}")
public int deleteUser(@ApiParam("用户id") @PathVariable @Valid Integer id) {
System.out.println("删除成功");
return userServiceimpl.deleteUser(id);
}
@ApiOperation(value = "查询所有用户")
@GetMapping
public List<User> allUser() {
System.out.println("查询成功");
return userServiceimpl.allUser();
}
@ApiOperation(value = "id查询用户")
@GetMapping("/{id}")
public User selectById(@PathVariable("id") String id) {
return userServiceimpl.selectById(id);
}
}
查询所有用户:http://localhost:8081/MyWebsite/user
Header:Content-Type=application/json
Body:空
查询成功!
根据id查询:
查询成功!
新增用户:
查看数据库新增成功!
修改用户信息(修改id为7的姓名和年龄):
查看数据库修改成功!
根据id删除用户:
查看数据库删除成功!(deleted=1)
可能你的是直接删除了整一条数据
当查询或更新或删除不存在的数据时(或者数据不合法),都是执行失败的
还有其他接口,例如删除所有等接口,这里不一一测试了
若有不正确的地方,欢迎指出。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Flask-RESTful 및 Swagger: Python 웹 애플리케이션에서 RESTful API를 구축하기 위한 모범 사례(2부) 이전 기사에서는 Flask-RESTful 및 Swagger를 사용하여 RESTful API를 구축하기 위한 모범 사례를 살펴보았습니다. Flask-RESTful 프레임워크의 기본 사항을 소개하고 Swagger를 사용하여 RESTful API에 대한 문서를 작성하는 방법을 보여주었습니다. 책

Apifox는 API 문서화, 디버깅, Mock, 테스트, Postman + Swagger + Mock + JMeter 포지셔닝을 위한 통합 협업 플랫폼입니다. 하나의 시스템과 하나의 데이터를 통해 여러 시스템 간의 데이터 동기화 문제를 해결할 수 있습니다. API 문서만 정의하면 API 디버깅, API 데이터 모킹, API 자동화 테스트를 다시 정의하지 않고도 바로 사용할 수 있다.

Laravel을 사용한 RESTful API 개발: 현대적인 웹 서비스 구축 인터넷의 급속한 발전으로 인해 웹 서비스에 대한 수요가 날로 증가하고 있습니다. 현대적인 웹 서비스 아키텍처인 RESTfulAPI는 가볍고 유연하며 확장이 용이하여 웹 개발에 널리 사용되었습니다. 이 글에서는 Laravel 프레임워크를 사용하여 최신 RESTful API를 구축하는 방법을 소개합니다. Laravel은 PHP 언어입니다.

1. RESTful 개요 REST(RepresentationalStateTransfer) 스타일은 웹 애플리케이션이 우수한 가독성, 확장성 및 유지 관리성을 갖도록 몇 가지 디자인 원칙을 따르는 리소스 중심의 웹 애플리케이션 디자인 스타일입니다. RESTful 스타일의 각 측면을 자세히 설명하겠습니다. 리소스 식별자: RESTful 스타일에서 각 리소스에는 일반적으로 URL(UniformResourceLocator)과 같은 고유 식별자가 있습니다. URL은 클라이언트가 HTTP 프로토콜을 사용하여 리소스에 액세스할 수 있도록 리소스의 위치를 식별하는 데 사용됩니다. 예를 들어, 간단한 URL은 다음과 같습니다: http

Django는 RESTful API를 쉽게 구축할 수 있게 해주는 웹 프레임워크입니다. RESTfulAPI는 HTTP 프로토콜을 통해 액세스할 수 있는 웹 기반 아키텍처입니다. 이 글에서는 DjangoREST 프레임워크를 사용하여 개발 프로세스를 단순화하는 방법을 포함하여 Django를 사용하여 RESTful API를 구축하는 방법을 소개합니다. Django 설치 먼저 Django를 로컬에 설치해야 합니다. 특히 pip를 사용하여 Django를 설치할 수 있습니다.

현재 정보 기술의 지속적인 혁신 환경에서 RESTful 아키텍처는 일반적으로 사용되는 다양한 WebAPI 애플리케이션에서 널리 사용되며 새로운 서비스 개발 트렌드가 되었습니다. Golang의 고성능 및 쉽게 확장 가능한 웹 프레임워크인 Beego 프레임워크는 효율성, 사용 용이성 및 유연성이라는 장점으로 인해 RESTful 서비스 개발에 널리 사용됩니다. 다음은 Beego에서 RESTful 서비스를 개발하기 위한 모범 사례의 관점에서 개발자를 위한 몇 가지 참고 자료를 제공합니다. 1. REST의 라우팅 설계

인터넷의 발전과 대중화로 인해 웹 애플리케이션과 모바일 애플리케이션이 점점 더 보편화되고 있습니다. 이러한 애플리케이션은 백엔드 서버와 통신하고 데이터를 가져오거나 제출해야 합니다. 과거에는 SOAP(Simple Object Access Protocol)나 XML-RPC(XML Remote Procedure Call)를 사용하여 통신하는 일반적인 방법이 있었습니다. 그러나 시간이 지남에 따라 이러한 프로토콜은 너무 번거롭고 복잡한 것으로 간주되었습니다. 최신 애플리케이션에는 통신을 위해 더 가볍고 간단한 API가 필요합니다. RESTfulAPI(프레젠테이션 레이어 상태 변환 AP

RESTfulAPI는 현재 웹 아키텍처에서 일반적으로 사용되는 API 디자인 스타일입니다. 그 디자인 개념은 웹 리소스의 표현과 상호 작용을 완성하기 위한 HTTP 프로토콜의 표준 방법을 기반으로 합니다. 구현 과정에서 RESTful API는 캐시 가능성, 서버-클라이언트 분리, 상태 비저장 등을 포함한 일련의 규칙과 제약 조건을 따릅니다. 이러한 규칙은 API의 유지 관리 가능성, 확장성, 보안 및 사용 용이성을 보장합니다. 다음으로 이 글에서는 RESTfulAPI의 설계와 구현에 대해 자세히 소개하겠습니다.
