웹 프론트엔드 JS 튜토리얼 Restful 인터페이스 사양 및 Postman 디버깅 도구 소개

Restful 인터페이스 사양 및 Postman 디버깅 도구 소개

Aug 09, 2022 pm 03:37 PM
postman restful

최근에 RESTful 인터페이스 사양에 대해 알아보고 Postman을 사용하여 소개했습니다. 여기에 관련 RESTful 인터페이스 사양을 기록하겠습니다.

1.

REST: HTTP, URI, XML, JSON, HTML 등과 같이 널리 사용되는 표준 및 프로토콜을 사용하는 웹 서비스용 아키텍처 스타일입니다. 이는 경량의 크로스 플랫폼, 크로스 언어 아키텍처 디자인입니다. ; 디자인입니다. 스타일은 표준이 아니라 아이디어입니다.

RESTful: 해당 중국어는 RESTful입니다. Restful 웹 서비스는 REST 스타일을 준수하는 웹 서비스인 일반적인 REST 애플리케이션입니다. RESTful 웹 서비스는 일종의 ROA(Resource-Oriented Architecture)입니다. ) [추천: 웹 프론트엔드] RESTful의 본질은 소프트웨어 아키텍처 스타일입니다. 핵심은 리소스 지향적이며 문제를 해결합니다.

개발 복잡성 감소
  • 시스템 확장성 향상
2. SOAP와 REST의 차이점:

SOAP(Simple Object Access Protocol): 데이터 교환을 위한 프로토콜 사양으로, 가볍고 간단한 XML 기반 프로토콜입니다. REST(Representational State Transfer): 개발의 복잡성을 줄이고 시스템의 확장성을 향상시킬 수 있는 소프트웨어 아키텍처 스타일입니다.

효율성 및 사용 용이성

: SOAP
: 자체 프로토콜의 콘텐츠를 지속적으로 확장하는 다양한 요구로 인해 SOAP 처리 성능이 저하되었습니다. 동시에 사용 편의성과 학습 비용도 증가했습니다. RESTful
: 리소스 중심 인터페이스 설계 및 작업 추상화로 인해 개발자의 잘못된 설계를 단순화하고 HTTP의 원래 애플리케이션 프로토콜 설계 개념을 최대한 활용합니다.

Security

: RESTful
은 리소스 기반 서비스 인터페이스에 매우 적합하며 특히 효율성 요구 사항은 높지만 보안 요구 사항은 낮은 시나리오에 적합합니다. SOAP
의 성숙함은 여러 개발 언어에 제공되어야 하고 더 높은 보안 요구 사항을 갖는 인터페이스 디자인에 편의성을 가져올 수 있습니다. 간단히 말해서:
보안
: SOAP는 REST보다 우수합니다. 효율성과 사용 용이성
: REST가 더 좋습니다. 성숙도
: 일반적으로 SOAP는 성숙도 측면에서 REST보다 낫습니다.

3. RESTful API를 디자인하는 방법

:
리소스 경로: 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 //雇员资源
로그인 후 복사

POST /zoos: 새 동물원 만들기
  • 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”
 }
로그인 후 복사

결과 반환:

  • GET /collection:返回资源对象的列表(数组)
  • GET /collection/resource:返回单个资源对象
  • POST /collection:返回新生成的资源对象
  • PUT /collection/resource:返回完整的资源对象
  • PATCH /collection/resource:返回完整的资源对象
  • DELETE /collection/resource:返回一个空文档

4.REST风格的接口测试流程
我们直接用一张图来介绍吧
Restful 인터페이스 사양 및 Postman 디버깅 도구 소개5.代码编写和Postman测试
工具:idea,mysql数据库,Postman
数据库表数据:
Restful 인터페이스 사양 및 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;
    }
로그인 후 복사

controller层的代码(service层省略):

@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);
    }
}
로그인 후 복사

利用Postman测试(url路径要对应上):
查询所有用户:http://localhost:8081/MyWebsite/user
Header:Content-Type=application/json
Body:空
Restful 인터페이스 사양 및 Postman 디버깅 도구 소개
查询成功!
根据id查询:
Restful 인터페이스 사양 및 Postman 디버깅 도구 소개
查询成功!
新增用户
Restful 인터페이스 사양 및 Postman 디버깅 도구 소개
查看数据库新增成功!
Restful 인터페이스 사양 및 Postman 디버깅 도구 소개
修改用户信息(修改id为7的姓名和年龄):
Restful 인터페이스 사양 및 Postman 디버깅 도구 소개
查看数据库修改成功!
Restful 인터페이스 사양 및 Postman 디버깅 도구 소개
根据id删除用户
Restful 인터페이스 사양 및 Postman 디버깅 도구 소개
查看数据库删除成功!(deleted=1)
可能你的是直接删除了整一条数据
Restful 인터페이스 사양 및 Postman 디버깅 도구 소개
当查询或更新或删除不存在的数据时(或者数据不合法),都是执行失败的
还有其他接口,例如删除所有等接口,这里不一一测试了
若有不正确的地方,欢迎指出。

위 내용은 Restful 인터페이스 사양 및 Postman 디버깅 도구 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

Flask-RESTful 및 Swagger: Python 웹 애플리케이션에서 RESTful API를 구축하기 위한 모범 사례(2부) Flask-RESTful 및 Swagger: Python 웹 애플리케이션에서 RESTful API를 구축하기 위한 모범 사례(2부) Jun 17, 2023 am 10:39 AM

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

국내 API 관리 툴인 Apifox는 사용하기 쉬운가요? 국내 API 관리 툴인 Apifox는 사용하기 쉬운가요? Jul 26, 2022 pm 08:44 PM

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

Laravel을 사용한 RESTful API 개발: 최신 웹 서비스 구축 Laravel을 사용한 RESTful API 개발: 최신 웹 서비스 구축 Aug 13, 2023 pm 01:00 PM

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

Python 플라스크 RESTful을 사용하는 방법 Python 플라스크 RESTful을 사용하는 방법 Apr 29, 2023 pm 07:49 PM

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

Django를 사용하여 RESTful API 구축 Django를 사용하여 RESTful API 구축 Jun 17, 2023 pm 09:29 PM

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

Beego를 사용한 RESTful 서비스 개발 모범 사례 Beego를 사용한 RESTful 서비스 개발 모범 사례 Jun 23, 2023 am 11:04 AM

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

PHP를 사용하여 RESTful API를 구축하는 단계 PHP를 사용하여 RESTful API를 구축하는 단계 Jun 17, 2023 pm 01:01 PM

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

RESTful API 설계 및 구현 방법 RESTful API 설계 및 구현 방법 Jun 22, 2023 pm 04:07 PM

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

See all articles