Faraday: νŒ¨λŸ¬λ°μ΄κ°€ POST μš”μ²­ 본문을 κΈ°λ‘ν•˜μ§€ μ•ŠμŒ

에 λ§Œλ“  2013λ…„ 04μ›” 09일  Β·  11μ½”λ©˜νŠΈ  Β·  좜처: lostisland/faraday

λ‹€μŒ μ½”λ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ 연결을 λ§Œλ“­λ‹ˆλ‹€.

<strong i="6">@connection</strong> = Faraday.new(HOST, ssl: { verify: true }) do |faraday|
  faraday.request :url_encoded
  faraday.response :logger
  faraday.adapter Faraday.default_adapter
end

그런 λ‹€μŒ λ‹€μŒκ³Ό 같은 λ°©λ²•μœΌλ‘œ κ²Œμ‹œλ¬Όμ„ μˆ˜ν–‰ν•©λ‹ˆλ‹€.

@connection.post do |request|
  request.url "#{my_uri.path}?#{my_uri.query}"
  request.headers['Content-Type'] = 'application/json'
  request.body = my_object.to_json
end

μš”μ²­μ΄ μ œλŒ€λ‘œ μž‘λ™ν•©λ‹ˆλ‹€. λ¬Έμ œλŠ” λ‘œκ·Έμ— μš”μ²­ 본문이 ν‘œμ‹œλ˜μ§€ μ•Šκ³  μš”μ²­ URL만 ν‘œμ‹œλœλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€.

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

Google을 톡해 이 νŽ˜μ΄μ§€λ₯Ό μ°Ύμ•˜μœΌλ―€λ‘œ 이제 μ§€μ›λ©λ‹ˆλ‹€.

require "logger"

Faraday.new do |faraday|
  faraday.response :logger, ::Logger.new(STDOUT), bodies: true
end

ν•„μš”ν•œ 경우 더 μ„ΈλΆ„ν™”λœ 섀정을 μ‚¬μš©ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€. ν’€ λ¦¬ν€˜μŠ€νŠΈλ₯Ό μ°Έμ‘°ν•˜μ„Έμš”.

λͺ¨λ“  11 λŒ“κΈ€

λ‘œκ±°λŠ” λͺΈμ„ μˆ˜ν–‰ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€ . μ•„λ§ˆλ„ 이것은 선택적인 κΈ°λŠ₯일 수 μžˆμ§€λ§Œ 기본적으둜 본문을 μˆ˜ν–‰ν•΄μ„œλŠ” μ•ˆ λœλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. μ™œλƒν•˜λ©΄ 그것듀은 κ½€ 클 수 있고 둜그λ₯Ό 맀우 λΉ λ₯΄κ²Œ 뢀풀릴 수 있기 λ•Œλ¬Έμž…λ‹ˆλ‹€.

전체 본문을 κΈ°λ‘ν•˜λ €λŠ” μ—¬λŸ¬ μ‚¬μš© 사둀가 μžˆλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. λ‚˜λ„ ν•„μš”ν•΄. 예, 본문은 κ½€ 클 수 μžˆμ§€λ§Œ 둜그 μˆ˜μ€€ debug ν•˜κ³  μ „λ‹¬λœ 둜거 μΈμŠ€ν„΄μŠ€κ°€ μžμ„Έν•œ 정도λ₯Ό μ œμ–΄ν•˜λ„λ‘ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

@mtarnovan λ™μ˜ν•©λ‹ˆλ‹€. μ—…λ°μ΄νŠΈλ₯Ό μœ„ν•΄ 참쑰된 pull μš”μ²­μ„ λ”°λ₯΄μ‹­μ‹œμ˜€. κΈ°λŠ₯을 μΆ”κ°€ν•  μˆ˜λ„ μžˆμ§€λ§Œ μ˜΅νŠΈμΈν•΄μ•Ό ν•˜λ©° 일반 ν…μŠ€νŠΈκ°€ μ•„λ‹Œ λ³Έλ¬Έ(예: μ••μΆ• λ˜λŠ” 이진 응닡)을 λ€ν•‘ν•˜λŠ” 것을 λ°©μ§€ν•˜κΈ° μœ„ν•΄ μΌμ’…μ˜ 보호 μž₯μΉ˜κ°€ ν•„μš”ν•©λ‹ˆλ‹€.

:+1: λ””λ²„κΉ…μš© ν‚€

Google을 톡해 이 νŽ˜μ΄μ§€λ₯Ό μ°Ύμ•˜μœΌλ―€λ‘œ 이제 μ§€μ›λ©λ‹ˆλ‹€.

require "logger"

Faraday.new do |faraday|
  faraday.response :logger, ::Logger.new(STDOUT), bodies: true
end

ν•„μš”ν•œ 경우 더 μ„ΈλΆ„ν™”λœ 섀정을 μ‚¬μš©ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€. ν’€ λ¦¬ν€˜μŠ€νŠΈλ₯Ό μ°Έμ‘°ν•˜μ„Έμš”.

url_encoded μš”μ²­μ— λŒ€ν•΄ μž‘λ™ν•˜μ§€ μ•ŠλŠ” 것 κ°™μŠ΅λ‹ˆκΉŒ?

μ•ˆλ…•ν•˜μ„Έμš” @vemv , λ―Έλ“€μ›¨μ–΄μ˜ μˆœμ„œλŠ” νŒ¨λŸ¬λ°μ΄μ—μ„œ 맀우 μ€‘μš”ν•©λ‹ˆλ‹€.
μ—°κ²° μ΄ˆκΈ°ν™” μ½”λ“œλ₯Ό μ œκ³΅ν•˜κ³  " url_encoded μš”μ²­μ— λŒ€ν•΄ μž‘λ™ν•˜μ§€ μ•ŠλŠ” 것"인 이유λ₯Ό 더 잘 μ„€λͺ…ν•  수 μžˆμŠ΅λ‹ˆκΉŒ?
얻을 수 μžˆλŠ” 좜λ ₯은 무엇이며 μ˜ˆμƒλ˜λŠ” 좜λ ₯은 λ¬΄μ—‡μž…λ‹ˆκΉŒ?

λ‚˜λŠ” 이것이 μ˜€λž˜λ˜μ—ˆλ‹€λŠ” 것을 μ•Œκ³  μžˆμ§€λ§Œ OPκ°€ faraday.response :logger 응닡을 κΈ°λ‘ν•˜κ³  μžˆλ‹€λŠ” 사싀이 λˆ„κ΅¬μ—κ²Œλ„ λ°œμƒν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆκΉŒ?

@jpickwell logger 미듀웨어가 응닡 λ―Έλ“€μ›¨μ–΄λ‘œ λ“±λ‘λ˜μ–΄ 있기 λ•Œλ¬Έμ— faraday.response λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. μ‹€μ œλ‘œλŠ” μš”μ²­κ³Ό 응닡을 λͺ¨λ‘ κΈ°λ‘ν•©λ‹ˆλ‹€ πŸ˜„

방금 이것을 λ°œκ²¬ν–ˆμŠ΅λ‹ˆλ‹€. 이 쀄에 λ”°λ₯΄λ©΄ μš”μ²­ 본문을 보렀면 두 개의 인수λ₯Ό 전달해야 ν•©λ‹ˆλ‹€.

Faraday.new do |faraday|
  faraday.response :logger, ::Logger.new(STDOUT), body: true, bodies: { request: true, response: true }
end

(졜근 μ»€λ°‹μ—μ„œ λ³€κ²½λ˜μ§€ μ•ŠλŠ” ν•œ πŸ€” )

@davidalpert ν•„μš”ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ‹¨μˆœνžˆ bodies: true λ₯Ό μ „λ‹¬ν•˜μ—¬ λ‘˜ λ‹€ ν™œμ„±ν™”ν•˜κ±°λ‚˜ μœ„μ˜ μ˜ˆμ™€ 같이 λ³„λ„μ˜ 값을 μ‚¬μš©ν•˜μ—¬ 더 λ§Žμ€ μ œμ–΄λ₯Ό ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
κ·Έ μ˜ˆμ— body: true μ˜΅μ…˜μ΄ μžˆλŠ” 것을 λ³΄μ•˜μ§€λ§Œ λΆˆν–‰νžˆλ„ μœ νš¨ν•œ μ˜΅μ…˜μ΄ μ•„λ‹™λ‹ˆλ‹€(λ³΅μˆ˜ν˜•μ΄ 잘λͺ»λ˜μ—ˆμ„ 수 μžˆμŠ΅λ‹ˆκΉŒ?)

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰