POSTMAN에 대해 알아보자

Doridam·2023년 6월 1일
0
post-thumbnail


포스트맨은 개발자들이 API를 디자인하고 빌드하고 테스트하고 반복하기 위한 API 플랫폼

API를 설계하고 테스트 하기위해 매번 화면을 구현할 수는 없기 때문에 API 구현 생산성을 올려주는 프로그램, 플랫폼이다.

서버에 Mapping한 url로 요청을 보내면 그에 맞는 응답을 곧바로 확인 할 수 있기 때문에 API 작성시 유용하게 사용할 수 있다.

  1. 링크 를 통해 postman 홈페이지로 접속한다.

postman을 사용하기 위해서는 로그인을 먼저 진행한다.

  1. 소셜 로그인으로 하거나 postman에 가입한다.

  2. 로그인 후 계정내에 마이페이지로 진입하게 되는데,

좌측 메뉴에서 Workspaces로 진입한다.

  1. Create Workspace를 하거나 My Workspace로 진입한다.

  2. 좌측 My Workspace 옆 New 버튼을 누르면 사진과 같이 만들고자 하는 API 카테고리가 나온다.

    RestApi를 테스트할 예정이기 때문에 HTTP를 선택하였다.

  3. 선택하면 아래와 같이 url 입력란과 함께 좌측 method가 나온다.

    method 와 요청 url을 작성 후 Send를 하면 서버로 해당 요청을 보내게 되고 그에 대한 반환값을 리턴받아 볼 수 있다.

6-1. GET의 파라미터가 있을 경우

이미지와 같이 파라미터를 지정하여 요청할 수 있다.

6-2 POST의 파라미터가 있을 경우

Headers에 파라미터를 지정하여 요청할 수 있다.


테스트를 위해 SpringBoot + myBatis를 사용했다.

@RestController
public class DemoApiController {
    private final DemoApiService service;

    @Autowired
    public DemoApiController(DemoApiService service) {
        this.service = service;
    }
    
    @GetMapping("/apiTest")
    public ResponseEntity<?> apiTest(
            @ModelAttribute DemoApi demoApiParam
    ){
        return ResponseEntity.ok(service.apiTest(demoApiParam));
    }

}
---------------------------------------------------------------------------
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class DemoApi {
    private int no;
    private String name;
}
---------------------------------------------------------------------------
public interface DemoApiService {
    List<Object> apiTest(DemoApi demoApiParam);
}
---------------------------------------------------------------------------
@Service
public class DemoApiServiceLogic implements DemoApiService {

    private final DemoApiRepository repository;

    @Autowired
    public DemoApiServiceLogic(DemoApiRepository repository) {
        this.repository = repository;
    }

    @Override
    public List<Object> apiTest(DemoApi demoApiParam) {
        List<Object> demoApi = repository.apiTest(demoApiParam);
        if (!demoApi.isEmpty()) {
            return demoApi;
        } else {
            return Collections.singletonList("값없음");
        }
    }
}
---------------------------------------------------------------------------
public interface DemoApiRepository {
    List<Object> apiTest(DemoApi demoApiParam);
}
---------------------------------------------------------------------------
@Repository
public class DemoApiRepositoryLogic implements DemoApiRepository {

    private final SqlSession session;

    @Autowired
    public DemoApiRepositoryLogic(SqlSession session) {
        this.session = session;
    }
    
    @Override
    public List<Object> apiTest(DemoApi demoApiParam) {
        return session.selectList("ApiTest.apiTest",demoApiParam);
    }
}
profile
도리도리담담 🐤🐥🐤🐥🐣🐣

0개의 댓글