라벨이 POST인 게시물 표시

android studio Retrofit을 이용한 POST요청

이미지
 이전글 android studio Retrofit을 이용한 GET요청 링크 이전글과 마찬가지로 POST를 이용하여 API요청을 android에서 진행하겠습니다. 이전 글에서 1, 2번을 진행해야 합니다. 그리고 이전글의 연장선으로 코드를 작성하도록 하겠습니다. 이번글도 마찬가지로 요청할 RestAPI 주소는 reqres에 보내도록 하겠습니다. RestAPI를 테스트 하기 위한 서버가 있으며  링크 를 참고하시면 됩니다. Android에서 요청할 테스트 서버는 REQRES에서 진행하도록 하겠습니다.( 링크 ) 1. POST요청을 할 API 사진1) POST CREATE 요청 및 응답 해당 사진1에서 서버로 보낼 요청과 응답을 확인할수 있습니다. 요청에는 body값이 들어가는데 이때 name, job이 들어갑니다. 2. 서버로 보낼 요청 Class(UserInsertOneRecord) 만들기  Get요청에서 uid하나만 보낸것과 달리 POST에서는 2개의 데이터를 보내야 합니다. 이를 위해 데이터를 보내기 위한 클래스를 생성해야 합니다. package com.example.restapi_test ; public class UserInsertOneRecord { // 서버로 보낼 요청값은 name, job 이고 둘다 String 타입 이다 . String name , job ; // UserInsertOneRecord Getter // name 값을 불러온다 . public String getName () { return name ; } // job 값을 불러온다 . public String getJob () { return job ; } // UserInsertOneRecord Setter // name 값을 입력한다 . public void setName (String name)...

NestJS Error https 통신중 unable to verify the first certificate 에러

 NestJS으로 POST통신중 문제가 생겼고 해결을 해서 블로그에 남깁니다. import axios from 'axios' ; import { PushBodyDto } from 'src/type/sendPushMessage.dto' ; require ( 'dotenv' ). config (); const https = require ( 'https' ); export async function sendPushMessage ( body : PushBodyDto ) { return await axios . post ( process . env . NESTJS_RESTAPI_URL + '/push-noti/send/message' , { httpsAgent : new https . Agent ({ rejectUnauthorized : false , }), data : body , }) . then (( res ) => { console . log ( '푸시메세지 보낸후 데이터 : ' , res . data ); return res . data ; }) . catch (( err ) => { return err ; }) . finally (() => console . log ( '푸시메세지 요청 완료!' )); } 코드1) 초기 Post Request 코드 위 코드에서 POST요청으로 다른서버에 Push요청을 보내는 코드 입니다. 오류 발생시 무시하는 코드(rejectUnauthorized : true)를 넣었음에도 불구하고 아래와 같이 응답이 왔습니다. 응답데이터(Click) --------------------------------------------- ...

NestJS Axios사용하기 (POST)

이미지
안녕하세요. 알렉스 입니다. 이번에는 NestJS을 이용하여 restAPI요청(POST)을 해보도록 하겠습니다.  이전글 : NestJS Axios사용하기 (GET) 그런데 NestJS을 이용하여 GET요청을 하기전 Swegger와 Global Validation Pipe를 이용할 것입니다. 관련 자료는 아래 링크를 참고해 주시기 바랍니다. 링크 : NestJS http로 들어오는 파라메타, 쿼리, Body값들에 대해서 Global Validation Pipe 만들기 링크 : NestJS에 Swagger(스웨거) Document(문서)를 적용 이제 Axios을 이용하여 POST요청을 하겠습니다. 이거에 대한 공식 문서는 아래 링크를 참고하셔도 되고 아니면 이 블로그를 따라하시고 진행하셔도 됩니다. 링크 : HTTP Module 일단 NestJS에서 axios을 사용하기 위해서는 관련 npm을 설치해야 합니다. npm i --save @nestjs/axios copy 사진1) 폴더 구조 이제 설치후 사진1과 같이 파일을 구성해 줍니다. 실제 POST요청을 할 폴더는 'rest-api' 입니다. 생성을 완료하시면 아래코드와 같이 작성을 하시면 됩니다. // 경로 : src/app.module.ts import { HttpModule } from '@nestjs/axios' ; import { Module } from '@nestjs/common' ; import { AppController } from './app.controller' ; import { AppService } from './app.service' ; import { RestApiModule } from './rest-api/rest-api.module' ; // 미리 코딩이 되어 있습니다. @ Module ({ imports : [ HttpModule , R...

Nest JS 바디(body)값 읽기

이미지
  // body값을 읽기 위하여 Post요청을 만든다. @ Post () // create에서 Body를 받을수 있도록 코딩한다. create (@ Body () body ) { // 클라이언트에서 받은 body를 확인하기 위해서 // 다시 클라이언트로 응답한다. return body ; } 해당 컨트롤러(위 코드는 coffee컨트롤러에 있음)에 위 코드를 작성한다. 위 코드를 입력하고 Insomnia에서 POST요청을 할때 위 사진과 같이 Body로 보낸 요쳥을 서버에서 다시 응답으로 오는것을 알수 있습니다.  // body값을 읽기 위하여 Post요청을 만든다. @ Post () create ( @ Body ( 'name' ) name : string , // body의 name만 따로 name변수에 저장 @ Body ( 'message' ) message : string // body의 message만 따로 message변수에 저장 ) { // create에서 Body를 받을수 있도록 코딩한다. console . log ( "request from client(POST)" ) // 클라이언트에서 받은 body를 확인하기 위해서 // 다시 클라이언트로 응답한다. return ( `당신의 이름은 ${ name } 이고 보낸 메세지는 ' ${ message } ' 입니다.` ); } 만약 해당 body에 무엇이 들어올지 알면 미리 변수로 지정을 할수 있습니다. 여기서는 name, message를 body에서 받아서 변수로 지정을 합니다. 그리고 응답을 보낼때 하나의 문자열로 클라이언트로 보냅니다.

HTTP 프로토콜 Method(GET, POST, PATCH, PUT, DELETE)

이미지
 안녕하세요. 이번에는 HTTP 프로토콜의 Method의 일부에 대해서 알아보도록 하겠습니다.  GET 요청  : HTTP요청중 가장 간단한 Method입니다. 보통 브라우저의 url을 이용하여 웹에 접속하는 것이 GET요청 입니다. GET요청으로 인해 Server쪽의 데이터가 변경 혹은 삭제 되어서는 안됩니다. GET요청은 읽기 전용입니다.  POST 요청 : Server에 새로운 데이터의 생성을 요청합니다. 보통 다른 자원에 종속적인 데이터 생성을 요청합니다. PATCH 요청 : 서버에 존재하는 데이터에 대해서 업데이트를 요청합니다. 해당 url의 PUT Method를 이용하여 데이터를 변경합니다. PUT처럼 전체 데이터를 body에 보낼 필요없이 수정할 부분만 보내면 됩니다. PUT 요청 : 서버에 존재하는 데이터에 대해서 업데이트를 요청합니다. 해당 url의 PUT Method를 이용하여 데이터를 변경합니다. 이때 전체 데이터를 body에 보내야 하며 해당 부분에 대해서 변경을 하고 보내야 합니다. DELETE 요청 : 해당데이터를 제거합니다.