Advertisement
iqraiqbal

Untitled

Dec 8th, 2019
625
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.48 KB | None | 0 0
  1. //
  2. // AddNewDvdViewController.swift
  3. // DvdImb
  4. //
  5. // Created by Iqra Iqbal on 08/12/2019.
  6. // Copyright © 2019 Iqra Iqbal. All rights reserved.
  7. //
  8.  
  9. import UIKit
  10.  
  11. class AddNewDvdViewController: UIViewController {
  12.  
  13. @IBOutlet weak var dvdTextField: UITextField!
  14. @IBOutlet weak var dvdGenreTextField: UITextField!
  15. @IBOutlet weak var dvdYearTextField: UITextField!
  16. @IBOutlet weak var dvdSaveButton: UIButton!
  17.  
  18. var theDvd: Dvd?
  19.  
  20. override func viewDidLoad() {
  21. super.viewDidLoad()
  22. // Do any additional setup after loading the view.
  23. if let theDvd = theDvd{
  24. print(theDvd.title)
  25. }
  26. }
  27.  
  28. @IBAction func saveDvd(_ sender: Any) {
  29. let title = dvdTextField.text
  30. let genre = dvdGenreTextField.text
  31. let year = Int(dvdYearTextField.text!)
  32.  
  33. let dvd = Dvd(id: 0,title: title!, genre: genre!, year:year!)
  34. addNewDvd(dvd: dvd)
  35. }
  36.  
  37. func addNewDvd(dvd: Dvd){
  38. let url = URL(string: "http://localhost:8080/DVDWebApp/APIServlet")!
  39. var request = URLRequest(url: url)
  40. request.httpMethod = "POST" //Set request method to POST
  41.  
  42. let jsonData = try! JSONEncoder().encode(dvd)
  43. let jsonString = String(data: jsonData, encoding: .utf8)!
  44. print(jsonString)
  45.  
  46.  
  47. let bodyData = "apikey=abc123&dvd=\(jsonString)"
  48. request.httpBody = bodyData.data(using: String.Encoding.utf8)
  49.  
  50. //Its like an ASYC task
  51. let task = URLSession.shared.dataTask(with: request){
  52. (data, response, error) in
  53. if let error = error {
  54. print("error: \(error)")
  55. } else {
  56. if let response = response as? HTTPURLResponse{
  57. print("statusCode: \(response.statusCode)")
  58. print("\(response)")
  59. }
  60. if let data = data, let dataString = String(data:data, encoding: .utf8){
  61. print(String(data: data, encoding: .utf8)!)
  62. }
  63. }
  64. }
  65. //EXECUTE FOR ASYNC TASK
  66. task.resume()
  67. }
  68. }
  69.  
  70.  
  71. /*
  72. // MARK: - Navigation
  73.  
  74. // In a storyboard-based application, you will often want to do a little preparation before navigation
  75. override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
  76. // Get the new view controller using segue.destination.
  77. // Pass the selected object to the new view controller.
  78. }
  79. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement