WO2024005236A1 - 정보를 제공하는 방법 및 장치 - Google Patents

정보를 제공하는 방법 및 장치 Download PDF

Info

Publication number
WO2024005236A1
WO2024005236A1 PCT/KR2022/009426 KR2022009426W WO2024005236A1 WO 2024005236 A1 WO2024005236 A1 WO 2024005236A1 KR 2022009426 W KR2022009426 W KR 2022009426W WO 2024005236 A1 WO2024005236 A1 WO 2024005236A1
Authority
WO
WIPO (PCT)
Prior art keywords
api
api request
outbound
information
inbound
Prior art date
Application number
PCT/KR2022/009426
Other languages
English (en)
French (fr)
Inventor
잉제무
Original Assignee
쿠팡 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 쿠팡 주식회사 filed Critical 쿠팡 주식회사
Publication of WO2024005236A1 publication Critical patent/WO2024005236A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services

Definitions

  • Embodiments of this specification relate to methods and devices for providing information. More specifically, embodiments of the present specification relate to a method and device for managing API requests executed by a terminal and API responses obtained from a plurality of other servers corresponding thereto, and providing information to the user through a list page.
  • API Application Programming Interface
  • API requests requested by users may be provided to different servers depending on the characteristics of the request, and it may be difficult to identify them all at once.
  • the front end can request a plurality of APIs corresponding to the function, and the back end and the front end exchange information through a plurality of APIs corresponding to the execution of the function.
  • multiple API requests and multiple API responses must be debugged, but there was a problem in that it was difficult to uniformly check the API requests and API responses in an environment where the sending and receiving entities were diverse. .
  • the present disclosure is proposed to solve the above-described problems, and aims to provide a method and device for providing information.
  • the present disclosure manages API requests and corresponding API responses requested by a specific terminal and stores them, so that the API requests and API responses generated according to the actions of a specific terminal can be collectively checked, and the user can view them.
  • the purpose is to provide a method and device for checking and modifying information exchanged through the service.
  • the method of providing information from an electronic device includes first identification information for the requester and API (Application Programming Programming Programming) based on information obtained from the first terminal. Confirming an inbound API request including request information for an interface; Assigning second identification information to the inbound API request; Confirming a service server corresponding to an inbound API request; Transmitting an outbound API request including second identification information to a service server based on the inbound API request; Receiving an API response corresponding to an outbound API request from the service server; and providing a list page for inbound API requests, outbound API requests, and API responses.
  • API Application Programming Programming Programming
  • a method of providing information includes checking an inbound API request corresponding to a first terminal based on first identification information; Confirming an outbound API request and an API response corresponding to the inbound API request based on the second identification information; And it may further include matching the first identification information, second identification information, inbound API request, outbound API request, and API response based on the first identification information and the second identification information and storing them in data storage.
  • providing a list page includes checking an inbound API request corresponding to a first terminal among a plurality of inbound API requests stored in a data storage using first identification information; Confirming a set of outbound API requests and a set of API responses corresponding to an inbound API request among a plurality of outbound API requests and a plurality of API responses stored in the data storage using the second identification information;
  • the method may include providing a list page including a first list of sets of outbound API requests that match inbound API requests and a second list of outbound API requests and API responses.
  • the method of providing information may be characterized by providing a second list in response to receiving an input corresponding to an API outbound API request on the first page obtained from the first terminal.
  • the step of checking the service server includes checking an outbound API request having the same second identification information as the inbound API request; And it may include the step of checking the service server corresponding to the outbound API request.
  • providing a list page may include providing a list page by displaying inbound API requests at a first level and displaying outbound API requests at a second level lower than the first level. You can.
  • the step of providing a list page includes information about the file size of the outbound API request, method information corresponding to the outbound API request, status information corresponding to the outbound API request, and mocking the outbound API request.
  • a list by displaying at least one of information about whether data (Mock data) is used, information about the transmission time of the outbound API request, information about the icon corresponding to the second list, and information about the debugging icon of the outbound API request. It may include the step of providing a page.
  • receiving an API response includes waiting for a response following transmission of an outbound API request including second identification information; And it may include receiving an API response, which is a response to the outbound API request, from the service server.
  • a method of providing information includes identifying a set of outbound API requests corresponding to an inbound API request from a data storage based on second identification information; Checking the first outbound API request, which is an overlapping outbound API, among the outbound API requests included in the set; confirming the modified set by deleting the first outbound API request from the set; and upon re-confirming the inbound API request, transmitting a modified set of outbound API requests including second identification information based on the modified set.
  • a method of providing information includes identifying a set of outbound API requests corresponding to an inbound API request from a data storage based on second identification information; Based on specification information about the API, confirming a first outbound API request that is not included in the set; confirming the modified set by adding a first outbound API request to the set; and upon re-confirming the inbound API request, transmitting a modified set of outbound API requests including second identification information based on the modified set.
  • a method of providing information includes receiving information about an inbound API request confirmed to have an error from a first terminal; Confirming second identification information, URL information corresponding to the inbound API request, and time information corresponding to the inbound API request based on information about the inbound API request; And it may further include transmitting first identification information, second identification information, URL information, and time information to the second terminal.
  • a method of providing information includes receiving modified data obtained by modifying at least one of an inbound API request, an outbound API request, and an API response from a second terminal; and modifying at least one of an inbound API request, an outbound API request, and an API response based on the modification data.
  • An electronic device that provides information according to a second aspect of the present disclosure includes a transceiver; storage; and confirming an inbound API request including first identification information about the requester and request information for the API based on the information obtained from the first terminal, assigning second identification information to the inbound API request, and assigning second identification information to the inbound API request.
  • Check the corresponding service server send an outbound API request including second identification information to the service server based on the inbound API request, receive an API response corresponding to the outbound API request from the service server, and inbound It may include a processor that provides a list page for API requests, outbound API requests, and API responses.
  • the recording medium according to the third aspect of the present disclosure may be a non-transitory computer-readable recording medium that records a program for execution on a computer.
  • the electronic device matches the API request and the corresponding API response for a specific terminal and provides it as a list page, so that when improvement related to the service of the terminal is needed, the developer can report errors related to the error through the list page. You can easily check API requests or API responses and perform tests on them.
  • FIG. 1 is a diagram illustrating an information provision system in which a method for providing information by an electronic device can be implemented according to various embodiments.
  • Figure 2 is a flowchart showing a method of providing information according to one embodiment.
  • FIG. 3 is a diagram for explaining the information provision system 10 according to an embodiment in more detail.
  • Figure 4 is a diagram showing the screen of the first terminal.
  • Figure 5 is a screen showing a list page displaying inbound API requests.
  • Figure 6 is a screen showing a list page including a first list displaying an inbound API request and a corresponding outbound API request.
  • Figure 7a shows a screen for the source code of the request header of the first outbound API request 611.
  • Figure 7b shows a screen for the source code of the API response corresponding to the first outbound API request 611.
  • FIG. 8 is a diagram illustrating an example of modifying an API request or API response that is confirmed to have an error through a first terminal and a second terminal, according to an embodiment.
  • Figure 9 is a diagram for explaining an embodiment of modifying a set of outbound API requests corresponding to inbound API requests.
  • FIGS. 10A, 10B, and 10C are diagrams illustrating an embodiment of simulating an API request and an API response.
  • Figure 11 is a block diagram illustrating an electronic device for providing information according to an embodiment.
  • the “terminal” mentioned below may be implemented as a computer or portable terminal that can connect to a server or other terminal through a network.
  • the computer includes, for example, a laptop, desktop, laptop, etc. equipped with a web browser
  • the portable terminal is, for example, a wireless communication device that guarantees portability and mobility.
  • all types of communication-based terminals such as IMT (International Mobile Telecommunication), CDMA (Code Division Multiple Access), W-CDMA (W-Code Division Multiple Access), and LTE (Long Term Evolution), smartphones, tablet PCs, etc. It may include a handheld-based wireless communication device.
  • each block of the processing flow diagram diagrams and combinations of the flow diagram diagrams can be performed by computer program instructions.
  • These computer program instructions can be mounted on a processor of a general-purpose computer, special-purpose computer, or other programmable data processing equipment, so that the instructions performed through the processor of the computer or other programmable data processing equipment are described in the flow chart block(s). It creates the means to perform functions.
  • These computer program instructions may also be stored in computer-usable or computer-readable memory that can be directed to a computer or other programmable data processing equipment to implement a function in a particular manner, so that the computer-usable or computer-readable memory It is also possible to produce manufactured items containing instruction means that perform the functions described in the flowchart block(s).
  • Computer program instructions can also be mounted on a computer or other programmable data processing equipment, so that a series of operational steps are performed on the computer or other programmable data processing equipment to create a process that is executed by the computer, thereby generating a process that is executed by the computer or other programmable data processing equipment. Instructions that perform processing equipment may also provide steps for executing the functions described in the flow diagram block(s).
  • each block may represent a module, segment, or portion of code that includes one or more executable instructions for executing specified logical function(s).
  • each block may represent a module, segment, or portion of code that includes one or more executable instructions for executing specified logical function(s).
  • FIG. 1 is a diagram illustrating an information provision system in which a method for providing information by an electronic device can be implemented according to various embodiments.
  • a system 10 for providing item information may be implemented by various types of devices.
  • the system 10 for providing item information may include an electronic device 100, a first terminal 110, and a service server 120.
  • the system 10 for providing item information shown in FIG. 1 shows only components related to this embodiment. Accordingly, those skilled in the art can understand that other general-purpose components may be included in addition to the components shown in FIG. 1.
  • Each of the electronic device 100, the first terminal 110, and the service server 120 may include a transceiver, storage, and a processor.
  • the electronic device 100, the first terminal 110, and the service server 120 each mean a unit that processes at least one function or operation, which is implemented through hardware, software, or a combination of hardware and software. It can be.
  • each of the electronic device 100 and the first terminal 110 is referred to as a separate device or server, but this may have a logically divided structure, and at least some of them are separated from one device or server. It can be implemented by function.
  • the electronic device 100, the first terminal 110, and the service server 120 may include a plurality of computer systems or computer software implemented as a network server.
  • the electronic device 100, the first terminal 110, and the service server 120 are connected to lower level devices that can communicate with other network servers through a computer network such as an intranet or the Internet to perform tasks. It can refer to computer systems and computer software that receive requests, perform operations on them, and provide performance results.
  • at least some of the electronic device 100, the first terminal 110, and the service server 120 include a series of application programs that can operate on a network server and various databases built inside or on other connected nodes. It can be understood as a broad concept.
  • at least some of the electronic device 100, the first terminal 110, and the service server 120 run DOS, Windows, Linux, UNIX, or MacOS. It can be implemented using a network server program provided in various ways depending on the operating system, such as.
  • the electronic device 100, the first terminal 110, and the service server 120 may communicate with each other through a network (not shown).
  • Networks include Local Area Network (LAN), Wide Area Network (WAN), Value Added Network (VAN), mobile radio communication network, satellite communication network, and combinations thereof.
  • LAN Local Area Network
  • WAN Wide Area Network
  • VAN Value Added Network
  • It is a data communication network in a comprehensive sense that allows each network constituent shown in FIG. 1 to communicate smoothly with each other, and may include wired Internet, wireless Internet, and mobile wireless communication networks.
  • Wireless communications include, for example, wireless LAN (Wi-Fi), Bluetooth, Bluetooth low energy, ZigBee, WFD (Wi-Fi Direct), UWB (ultra wideband), and infrared communication (IrDA, infrared Data Association). ), NFC (Near Field Communication), etc., but are not limited thereto.
  • the electronic device 100 sends an inbound API request ( Inbound Request), assigning second identification information to the inbound API request, checking the service server corresponding to the inbound API request, and including the second identification information to the service server based on the inbound API request.
  • Inbound Request an inbound API request
  • receives an API response corresponding to an outbound API request from a service server, and providing a list page for inbound API requests, outbound API requests, and API responses will be discussed in detail below.
  • Figure 2 is a flowchart showing a method of providing information according to one embodiment.
  • each operation that provides information in an electronic device may have some operations changed, replaced, or some sequences between operations changed within the range clearly understood by those skilled in the art to which the present invention pertains. It can be clearly understood that it can be done.
  • step S210 the electronic device 100 may check an inbound API request including first identification information about the requester and request information about the API based on information obtained from the first terminal.
  • the first terminal 110 may be an electronic device that performs various operations through applications, programs, etc.
  • the first terminal 110 may be a mobile device or a computer device, but is not limited to either.
  • the first terminal 110 transmits request information for the API and information for identifying the first terminal to the electronic device 100, and performs the corresponding function through data obtained based on the method according to the embodiment of the present application. It can be done. For example, in response to a request to access a detailed page of a specific product through an e-commerce application, the first terminal 110 obtains a page containing images, price information, and discount information of the specific product, thereby The page can be displayed.
  • the e-commerce service server can receive each data from a database that manages the information displayed on the page and create a page based on it. Meanwhile, such a page can also be created on the terminal based on information provided by the e-commerce service server.
  • the electronic device 100 may obtain first identification information about the requester based on information obtained from the first terminal 110.
  • the obtained information may include information about the requester who requested the function to be performed by the first terminal 110.
  • the electronic device 100 may obtain information about a universally unique identifier (UUID) from the first terminal 110 to distinguish the requester from other users. Accordingly, the electronic device can confirm identification information based on information about the universal unique identifier obtained from the first terminal 110.
  • the first identification information may be a universal unique identifier, but is not limited thereto.
  • the first identification information may be the requester's ID information.
  • the electronic device 100 may check an inbound API request including request information for an API. More specifically, the electronic device 100 may check an inbound API request containing request information for at least one API required to execute a function in the first terminal 110. Additionally, a plurality of inbound API requests corresponding to functions in the first terminal 110 may be configured. For example, if 1) the function in the first terminal 110 is a request for a detail page for a specific product, 2) the inbound API request is included in all detail pages regardless of the type of product, such as GNB (Global Navigation bar). It may include both a request corresponding to a menu and a request corresponding to information about a specific product (for example, information such as price information and quantity information).
  • GNB Global Navigation bar
  • the electronic device 100 may allocate second identification information to the inbound API request.
  • the second identification information may be information to distinguish the inbound API request from other inbound API requests. Additionally, the second identification information may be used to identify at least one outbound API request having the same second identification information as the inbound API request. Accordingly, the electronic device 100 may sort each of a plurality of inbound API requests corresponding to a function in the first terminal 110 and at least one outbound API request corresponding to the second identification information. . In this way, by assigning the second identification information to the API request, the API request provided by a specific terminal or requester can be traced, and through this, the API response corresponding to the API request can be managed collectively.
  • the electronic device 100 can check the service server corresponding to the inbound API request. More specifically, the electronic device 100 can check an outbound API request having the same second identification information as the inbound API request, and can check the service server corresponding to the confirmed outbound API request. In order to request at least one API according to at least one API request information included in the inbound API request, matching information between the inbound API request and the outbound API request may be required. In a related example, the electronic device 100 may use the second identification information to identify at least one outbound API request having the same second identification information as the inbound API request. Here, at least one outbound API request may each correspond to at least one API request information. Additionally, here, the outbound API request is a request transmitted from the electronic device 100 to the service server and may be a part of the inbound API request.
  • the electronic device 100 may identify a service server that will transmit at least one outbound API request.
  • the service server is a server that transmits an API response corresponding to a request received from the electronic device 100.
  • the service server may be a web application server or a DB server, but is not limited thereto. Additionally, the service server may include a plurality of sub-service servers.
  • step S240 the electronic device 100 may transmit an outbound API request including second identification information to the service server based on the inbound API request.
  • step S250 the electronic device 100 may receive an API request corresponding to an outbound API request from the service server.
  • the electronic device 100 may wait for a response upon transmission of an outbound API request including second identification information, and receive a response from the service server. You can receive an API response, which is a response to an outbound API request. Accordingly, the electronic device 100 can check the outbound API request corresponding to the received API response even if the received API response does not have a separate identifier.
  • the present invention is not limited to this, and the electronic device 100 may check an outbound API request having the same second identification information based on the second identification information included in the API response.
  • the electronic device 100 may provide a list page for inbound API requests, outbound API requests, and API responses. More specifically, the electronic device 100 confirms the inbound API request corresponding to the first terminal 110 based on the first identification information, and determines the outbound API request corresponding to the inbound API request based on the second identification information. You can check the request set and AP response set. Accordingly, the electronic device 100 may provide a list including a first list for a set of API requests matching inbound API requests and a second list for outbound API requests and API responses. A specific example of providing a list page will be discussed in detail below.
  • FIG. 3 is a diagram for explaining the information provision system 10 according to an embodiment in more detail.
  • a system 10 for providing item information may be implemented by various types of devices.
  • the system 10 for providing item information may include an electronic device 100, a first terminal 110, a service server 120, and data storage (not shown).
  • Data storage may be storage within the electronic device 100 or storage external to the electronic device 100, but is not limited thereto. Additionally, data storage may be Redis (Remote Dictionary Server), an open source-based non-relational database management system.
  • the electronic device 100 may receive request information for the API from the first terminal 110. Upon receiving request information for the API, the electronic device 100 may check an inbound API request including request information for the API.
  • the request information for the API may correspond to a function performed in the first terminal 110.
  • the electronic device 100 may obtain first identification information about the requester based on information obtained from the first terminal 110. 1) For example, if the first terminal 110 is a computer device, the electronic device 100 may obtain the universal unique identifier obtained from the first terminal 110 as first identification information for the requester. 2) Also, for example, if the first terminal 110 is a mobile device, the electronic device 100 sends a user ID (e.g., PCID) corresponding to the universal unique identifier obtained from the first terminal 110 to the requester. It can be obtained as first identification information for.
  • a user ID e.g., PCID
  • the electronic device 100 for providing information may include Nginx and Java Application.
  • Nginx is an open source web server program that can run servers such as HTTP and reverse proxy. More specifically, Nginx is a web server that operates with an asynchronous event-based structure, and the electronic device 100 can process traffic efficiently with few resources through Nginx. Additionally, the electronic device 100 may operate as an electronic device that mediates the API request and API response of the institution through Nginx.
  • Java can be one of the programming languages mainly used in the backend. The electronic device 100 may transmit at least one outbound API request having the same second identification information as the inbound API request to the service server through Java Application.
  • the electronic device 100 may include a mock agent to simulate and modify parts that require additional testing among outbound API requests and API responses. For example, when accessing the detail page of a specific product through a first terminal, there may be an error in the price information, discount information, etc. of the specific product, so information about the price of the specific product on the detail page may not be displayed. At this time, the electronic device 100 may provide a list page that includes a function to modify an API response corresponding to an API request for the vendor Item ID of a specific product. Accordingly, when performing additional testing, the electronic device 100 may receive a modified API response (Mocked API Response) in response to an API request for the vendor Item ID of a specific product. Accordingly, the first terminal can display a detailed page where information about the price of a specific product is properly displayed. In this regard, let's take a closer look at FIGS. 6 and 9.
  • the electronic device 100 may match the first identification information, the second identification information, and the inbound API request and store them in data storage. Prior to this, the electronic device 100 may allocate second identification information to the inbound API request. Accordingly, the electronic device 100 may distinguish the inbound API request from other inbound API requests based on the second identification information. The electronic device 100 may distinguish between an inbound API request and an outbound API request having the same second identification information. The electronic device 100 may check the inbound API request corresponding to the first terminal based on the first identification information and match the second identification information with the inbound API request. Based on this matching relationship, the electronic device 100 may store the first identification information, the second identification information, and the inbound API request in data storage.
  • the electronic device 100 may confirm a service server corresponding to the inbound API request and transmit at least one outbound API request corresponding to the inbound API request to the confirmed service server. For example, referring to FIG. 3, the electronic device 100 may transmit a first outbound API request to a service server for a first service and a second outbound API request to a service server for a second service. Can be transmitted. Additionally, the electronic device 100 may receive a first API response corresponding to the first outbound API request from the service server for the first service, and may receive a first API response corresponding to the first outbound API request from the service server for the second service. A corresponding second API request may be received.
  • the outbound API request transmitted to the service server follows HTTP (HyperText Transfer Protocol) regulations and may include a request line, request header, and request body. Additionally, the API response may include a status line, response header, and response body according to HTTP regulations. Additionally, the API herein may be a Rest (Representational State of Transfer) API, but is not limited thereto.
  • HTTP HyperText Transfer Protocol
  • the API herein may be a Rest (Representational State of Transfer) API, but is not limited thereto.
  • the electronic device 100 may receive an API response from the service server 120. More specifically, the electronic device 100 waits for a response according to transmission of the first outbound API request and receives a second API response that is a response to the first outbound API request from the service server including the first service. You can receive it. Accordingly, the electronic device 100 may check the first API response corresponding to the first outbound API request among the API responses (including the first API response and the second API response) received from the service server.
  • step S350 the electronic device 100 may store the outbound API request including the second identification information and the corresponding API response in data storage.
  • the electronic device 100 matches the first identification information, the second identification information, the inbound API request, the outbound API request, and the API response based on the first identification information and the second identification information. It can be stored in data storage. More specifically, the electronic device 100 matches the first outbound API request and the first API response, and matches the second outbound API request and the second API response, thereby converting the outbound API request and the API response into data. It can be saved to storage. The electronic device 100 may check the inbound API request corresponding to the first terminal based on the first identification information, and check the outbound API request and API response corresponding to the inbound API request based on the second identification information. .
  • the electronic device 100 may provide a list page by matching the inbound API request, outbound API request, and API response. More specifically, the list page may be a list page in the work environment of the first terminal 110 for searching the first identification information corresponding to the first terminal 110. However, the list page in the work environment of the first terminal 110 cannot be checked only from the first terminal 110.
  • the electronic device 100 may also provide the list page to the second terminal. More specifically, upon receiving a request for a list page corresponding to the first identification information of the first terminal 110 from the second terminal, the electronic device 100 may also provide the list page to the second terminal. Previously, the user of the first terminal 110 may provide first identification information corresponding to the first terminal 100 to the user of the second terminal 110.
  • the electronic device 100 may provide a function corresponding to the inbound API request.
  • the electronic device 100 may create an e-commerce related page corresponding to a request for an API based on information obtained from the service server 120 and provide this to the first terminal 110. there is.
  • Figure 4 is a diagram showing the screen of the first terminal.
  • the first terminal 110 may be an electronic device that performs various functions and operations. More specifically, when the user executes a function related to accessing the detailed page of the 30m roll toilet paper product (hereinafter referred to as target item) through the first terminal 110, the first terminal 110 displays a page such as the page 400. The page can be displayed. The page 400 may be divided into a plurality of areas on the page 400 that match a plurality of inbound API requests according to the execution of the function of the first terminal 110.
  • area 1 410 of the page 400 is an area related to breadcrumb and can display “from the main menu to the subcategory” for the target item.
  • Area 2 of the page 400 may include area 421, area 422, and area 423, and area 2 includes an image for the target item, name information for the target item, and information on the target item. It may include rating information for the target item, rating number information for the target item, and price information for the target item.
  • Area 3 (430) of the page 400 is an area related to the My Coupang icon and can display information about the requester (who may be an e-commerce service user).
  • Area 4 440 of the page 400 may display an area related to discount information.
  • Area 5 450 of the page 400 may display information about the shopping cart.
  • Area 6 (460) of the page 400 may be an area for a banner advertisement of the page 400.
  • the area of the page 400 may include area 1 (410), area 2, area 3 (430), area 4 (440), area 5 (450), and area 6 (460), as well as an area for shipping information. You can.
  • the electronic device 100 displays a list page including a first list for a set of outbound API requests matching inbound API requests and a second list for outbound API requests and corresponding API responses.
  • a list page including a first list for a set of outbound API requests matching inbound API requests and a second list for outbound API requests and corresponding API responses.
  • Figure 5 is a screen showing a list page displaying inbound API requests.
  • the electronic device 100 may check a plurality of inbound API requests corresponding to the execution of the function of the first terminal. Additionally, the electronic device 100 may provide a list page 500 indicating a plurality of inbound API requests corresponding to execution of functions of the first terminal. The matching relationship between the list page 500 and a plurality of areas of the page 400 displayed on the first terminal 110 is as follows.
  • the inbound API request 510 on the list page 500 is a request for bread crumbs, and the “Coupang Home, Single Life, Detergent/Toilet Paper, Toilet Paper, Premium Roll Toilet Paper” in area 1 (410) of the page 400 It can correspond to “3 layers or more)”.
  • the inbound API request 520 of the list page 500 is a request for information about the item whose vendor item ID is "5077941266", and includes area 421, area 422, and area 423 of the page 400. ) can correspond to.
  • the inbound API request 530 of the list page 500 is a request for user information and may correspond to the area 430 of the page 400.
  • the inbound API request 540 of the list page 500 is a request for discount information on an item whose vendor item ID is “5077941266” and may correspond to area 4 440 of the page 400.
  • the inbound API request 550 of the list page 500 is a request related to the shopping cart count, and may correspond to area 5 450 of the page 400.
  • the inbound API request 560 of the list page 500 is a request for a banner related to item “261192458” and may correspond to the advertisement for 18 rolls of toilet paper displayed in area 6 460 of the page 400. there is.
  • the list page 500 is not provided only to the electronic device 100.
  • Another user enters the first identification information "6288215614209259755120" (570) to display an inbound API request according to the execution of the function on the first terminal 110 (execution of connection to the detailed page of the target product according to FIG. 4) You can check one list page (500).
  • the electronic device 100 uses the first identification information to identify an inbound API request corresponding to the first terminal among the plurality of inbound API requests stored in the data storage, and uses the second identification information to identify the plurality of inbound API requests stored in the data storage.
  • the electronic device 100 may provide a list page including a first list for a set of outbound API requests matching inbound API requests and a second list for outbound API requests and API responses. A specific embodiment related to this will be examined in detail in FIG. 6 below.
  • Figure 6 is a screen showing a list page including a first list displaying an inbound API request and a corresponding outbound API request.
  • the electronic device 100 provides the list page 600 by displaying an inbound API request at a first level and a corresponding outbound API request at a second level lower than the first level. You can. For example, when clicking on the inbound API request 610 for “breadcrmb-gnbmenu” with index number 12 on the list page 600, the electronic device 100 receives an outbound API request matching the inbound API request 610.
  • a list page 600 containing List 1 for the set may be provided.
  • the list page 600 may display the number of sets of outbound API requests that match the inbound API requests in Count of the row for inbound API requests. For example, the number of sets of outbound API requests matching the inbound API request 610 may be 5.
  • the set of outbound API requests that match the inbound API request 610 is: a first outbound API request 611 for “hotketword”, a second outbound API request 612 for “searchads”, and a second outbound API request 612 for “member”. It may include a third outbound API request 613 for "category-info”, a fourth outbound API request 614 for "category-info”, and a fifth outbound API request 615 for "document”.
  • the electronic device 100 may provide information about an outbound API request by displaying it in a first list and displaying it on the list page 600.
  • Information on the outbound API request includes information on the file size of the outbound API request (631), method information corresponding to the outbound API request (632), status information on whether the API request was successful (633), and outbound information.
  • Information 636 about the file size of the outbound API request may indicate the file size of the outbound API request.
  • the file size of the first outbound API request 611 may be 0.51KB.
  • API herein may be a REST API (Representational State Transfer) that complies with the constraints of the REST architecture.
  • API Rest architecture may refer to an architecture designed to process resources through the HTTP Method.
  • the third outbound API request 613 follows HTTP regulations and may include a member that is a resource.
  • Method information 632 corresponding to the outbound API request may be information about the method of the HTTP protocol. For example, if the Method information 632 is “GET,” the service server 120 may retrieve information about the REST API resource and provide an API response to the electronic device 100. If the Method information 632 is “POST”, the service server 120 can create a REST API resource and provide an API response to the electronic device 100. If the method information 632 is “PUT,” the service server 120 may update the REST API resource and provide an API response to the electronic device 100. If the Method information 632 is “DELETE”, the service server 120 may delete the REST API resource or related configuration and send an API response to the electronic device 100. However, the method information 632 is not limited to the above example. Referring to FIG. 6, since the Method information of the first outbound API request 610 is “POST,” the service server 120 can create a REST API resource and provide an API response to the electronic device 100.
  • Status information 633 corresponding to the outbound API request may be information about whether the outbound API request was successful according to the HTTP protocol. For example, if the status information 633 is “200”, the status information 633 may be information that the service server 120 has successfully processed the outbound API request. If the status information 633 is "201", the status information 633 may be information that the service server 120 has successfully processed the outbound API request and a new resource has been created. If the status information 633 is “400,” the status information 633 may be information that the outbound API request is invalid and has not been processed by the service server 120. However, the status information 633 is not limited to the above example. Referring to FIG. 6, the status information of the first outbound API request 610 is 200, indicating that the service server 120 has processed the first outbound API request normally.
  • Information 634 on whether mock data is used in the outbound API request may indicate whether mock data is used in the outbound API request and the corresponding API response. Specifically, the list page may display slide buttons corresponding to outbound API requests differently depending on whether mock data is used. For example, referring to FIG. 6, information 634 about whether mock data is used in the first outbound API request 610 is included in the first outbound API request 610 and the corresponding API response. This indicates that simulated data was not used.
  • Information 635 about icons corresponding to the second list may correspond to the second list of outbound API requests and corresponding API responses. For example, in response to input through the view button of the first outbound API request 611 displayed on the list page 600, the electronic device 100 displays a second list of outbound API requests and corresponding API responses. can be provided.
  • Information 636 about the debugging icon of the outbound API request can be used when debugging the corresponding outbound API request. More specifically, the electronic device 100 displays a debugging icon for the corresponding outbound API request on the list page 600 so that only the first outbound API request 611 among the plurality of outbound API requests can be curled and tested. It can be provided.
  • Information about the transmission time of the outbound API request 637 may include information about the time when the outbound API request was transmitted. For example, it can be confirmed that the first outbound API request was sent at 2022.05.13 9:05:59.
  • the electronic device 100 may provide a second page including an outbound API request and an API response. 7A and 7B, the second page displaying the first outbound API request 611 and the corresponding API response of the list page 600 will be described.
  • Figure 7a shows a screen for the source code of the request header of the first outbound API request 611.
  • the electronic device 100 generates a first outbound API request in response to input through the icon 710 for the request, the icon 720 for the request header, and the icon 730 for the response. (611), a second list including the request header of the first outbound API request (611) and the source code for the API response corresponding to the first outbound API request (611) may be provided.
  • the first screen 700 may be a screen for the source code of the request header of the first outbound API request 611.
  • the first outbound API request 611 may be a request for “hotkeyword”.
  • an outbound API request may be a request according to the HTTP protocol, line 721 for "HOST” related to the service server host name and port number, and "REFERER” related to URL address information of the recently accessed web page.
  • Line 722 for "ACCEPT-LANGUAGE”, which relates to languages the server can support line 723 for "ACCEPT”, which relates to the types of media types the server can handle, and line 724 for "ACCEPT”, which relates to the types of media types the server can handle, and compression supported by the server. It may include a line 725 for “ACCEPT ENCODING” related to the method.
  • Figure 7b shows a screen for the source code of the API response corresponding to the first outbound API request 611.
  • the second screen 750 may be a screen for an API request corresponding to the first outbound API request 611.
  • the electronic device 100 may provide a second list including the source code for the API response in response to the input through the icon 730 for the response.
  • the second screen 750 may include “200,” which is status information 731 corresponding to the first outbound API request 611. Accordingly, it can be seen that the service server 120 successfully processed the first outbound API request 611.
  • the API response is an API response corresponding to the first outbound API request 611 for “hotkeyword” and may include information about the keyword and the rating for the keyword.
  • the API response may include "edible oil”, “love test”, “chiffon pink”, “number 1", and “canola oil” as the keyword list, and the corresponding ratings may include “0", “10”, May include “10", “10", and “10".
  • FIG. 8 is a diagram showing an example of modifying an API request or API response when an error occurs through a first terminal and a second terminal, according to an embodiment.
  • an API request corresponding to the performance of the function of the first terminal 110 (here, the API request may include an inbound API request and an outbound API request) and API You can check the API request or API response that was confirmed to have an error during the response. Accordingly, in the following, we will look at a specific example of modifying an API request or API response that is confirmed to have an error.
  • the electronic device 100 may check information about the target inbound API request 810 that is confirmed to have an error from the first terminal 110. If it is determined that there is an error in the outbound API request or API response, the electronic device 100 may receive information about the target inbound API request 810 corresponding to the outbound API request or API response confirmed to have an error. there is.
  • the electronic device 100 can check the second identification information, URL information corresponding to the target inbound API request, and time information corresponding to the target inbound API request based on information about the target inbound API request 810. . Accordingly, the electronic device 100 provides information 820 including first identification information, second identification information, URL information corresponding to the target inbound API request 810, and time information corresponding to the target inbound API request. 2 Can be transmitted to terminal 800.
  • the second terminal 800 may receive the same information 830 as the information 820 according to another embodiment as described below.
  • the second terminal 800 may receive the same information 830 as the information 820 according to another embodiment as described below.
  • users using other terminals also display API requests and API responses matching the function execution of the first terminal 110. You can check the list page.
  • the user of the first terminal 110 can share a list page displaying API requests and API responses with the user of the second terminal 800. Accordingly, multiple users using different terminals can jointly modify and test erroneous parts of the API request and API response through the list page.
  • the user of the first terminal 110 checks the inbound API request with an error through the list page and then enters the first identification information, second identification information, URL information corresponding to the target inbound API request 810, and the target inbound API request.
  • Information 830 including time information corresponding to can be transmitted to the second terminal 800.
  • the user of the second terminal 800 who has acquired the first identification information, the second identification information, the URL information corresponding to the target inbound API request 810, and the time information corresponding to the target inbound API request, displays the first identification on the list page.
  • the first terminal 110 can identify the target inbound API request 810 that is confirmed to have an error.
  • the user of the second terminal 800 can check the API request or API response with an error among the target inbound API request 810, the outbound API request and API response corresponding to the target inbound API request 810. .
  • the electronic device 100 may receive modification data 840 that modifies at least one of an inbound API request, an outbound API request corresponding to the inbound API request, and an API response from the second terminal 110.
  • the correction data 840 in FIG. 8 may be data that corrects an element with an error in the API response.
  • the electronic device 100 may modify at least one of an inbound API request, a corresponding outbound API request, and an API response based on the modification data 840.
  • the API response before modification might include the following responses: "fresh": 15000, "global”: 29800 (851) regarding the threshold price for free shipping.
  • the electronic device 100 may modify fresh": 15000, "global”: 29800 (851) to fresh”: 29800, "global”: 15000 (852) based on the correction data 840. Accordingly, the electronic device 100 may perform an improved function of the first terminal 110 according to the modified API response 860 based on the modified data 840.
  • Figure 9 is a diagram for explaining an embodiment of modifying a set of outbound API requests corresponding to inbound API requests.
  • Figure 9 shows the first list page 900 and the second list page according to the number of outbound API requests included in the set of a plurality of outbound API requests corresponding to the inbound API request for "category-layer" with index number 12. 930 and a third list page 960 are shown.
  • the electronic device 100 checks the set of outbound API requests corresponding to the inbound API request from the data storage based on the second identification information, and selects a set of outbound API requests included in the set. Check the first outbound API request, which is a duplicate outbound API, delete the first outbound API request from the set to check the modified set, and re-check the inbound API request to make the second outbound API request based on the modified set. A modified set of outbound API requests containing identifying information may be sent.
  • the set of outbound API requests corresponding to the inbound API request for “category-layer” with Index number 12 displayed on the second list page 930 may include four outbound API requests.
  • the first outbound API request 931 and the second outbound API request 932 may overlap. If the first outbound API request 931 and the second outbound API request 932 overlap, there is a problem in which more resources are allocated during the API request and API response process even if the first terminal 110 performs the same function. there is. Accordingly, the electronic device 100 may confirm a modified set of outbound API requests by deleting one of the first outbound API request 931 and the second outbound API request 932. For example, as in the first list page 900, the modified set may consist of three non-overlapping outbound API requests.
  • the electronic device 100 determines a set of outbound API requests corresponding to an inbound API request from the data storage based on the second identification information, and based on specification information for the API, sets When checking the first outbound API request that is not included in the set, adding the first outbound API request to the set to check the modified set, and rechecking the inbound API request, the second identification information is provided based on the modified set. You can send a modified set of outbound API requests containing .
  • the set of outbound API requests corresponding to the inbound API request for “category-layer” with Index number 12 displayed on the second list page 930 may include two outbound API requests.
  • the electronic device 100 may check the third outbound API request 903 that is not included in the set of outbound API requests, based on specification information about the API corresponding to the inbound API request.
  • the specification information about the API corresponding to the inbound API request may be information about a set of a plurality of outbound API requests corresponding to the inbound API request.
  • the specification information about the API corresponding to the inbound API request for "category-layer" with index number 12 is the first outbound API request (901), the second outbound API request (902), and the third outbound API request.
  • the electronic device 100 may compare the set of outbound API requests and the first set and confirm the third outbound API request 903 that is not included in the set of API requests. Accordingly, the electronic device 100 can confirm the modified set of outbound API requests by adding the third outbound API request 903 to the set of outbound API requests. For example, as in the first list page 900, the modified set may consist of three outbound API requests.
  • API requests and API responses are used as mock data. It can be modified with . We will look at this in detail below.
  • FIGS. 10A, 10B, and 10C are diagrams illustrating an embodiment of simulating an API request and an API response.
  • a list page 1000 provided by the electronic device 100 is shown. Users can check the target API request or target API response that requires mocking among API requests and API responses. For example, the user can select the first outbound API request (1011) and the second outbound API request (1012) that require mocking on the list page and click “Save as mock data” (1020). Additionally, the user can select the first outbound API request (1011) even when mocking is required for the API response corresponding to the first outbound API request (1011).
  • the electronic device 100 may display a page 1030 for entering information about mock data.
  • the user can enter "Test Project” (1031) as the project, "A” (1032) as the Scenario, and "test for A” (1033) as the Group name, and then enter "Save” (1033) as the Group name.
  • the electronic device 100 may provide a page 1040 for editing a target API request or target API response for which mocking is required.
  • the user enters "Test Project” (1041) as the project name and "A" (1042) as the Scenario through page 1040, thereby entering the Mock data stored under the name "A" in the "Test Project” project. You can check the list.
  • the user can check the target API request or target API response that requires mocking from the list of mock data.
  • the electronic device 100 may provide an interface for editing the target API request or target API response for which the input was received.
  • Figure 11 is a block diagram illustrating an electronic device for providing information according to an embodiment.
  • the electronic device 1100 of FIG. 11 may correspond to the electronic device 100 of the present specification.
  • the electronic device 1100 of the present disclosure may include a transceiver 1110, a processor 1120, and a storage 1130.
  • the components shown in FIG. 11 are not essential for implementing the electronic device, so the electronic device 1100 described in this specification may have more or fewer components than the components listed above.
  • the processor 1120 may include at least one processor.
  • the electronic device 1100 may operate as a server or proxy server.
  • the transceiver 1110 can communicate with an external device using wired or wireless communication technology and may include the transceiver 1110. External devices may be terminals or servers, including terminals of developers and quality assurance teams.
  • communication technologies used by the transceiver 1110 include Global System for Mobile communication (GSM), Code Division Multi Access (CDMA), Long Term Evolution (LTE), 5G, Wireless LAN (WLAN), and Wireless-Fidelity (Wi-Fi). ), Bluetooth, RFID (Radio Frequency Identification), Infrared Data Association (IrDA), ZigBee, NFC (Near Field Communication), etc., but are not limited thereto.
  • the transceiver 1110 may communicate with the first terminal 110 and the service server 120 to exchange information. More specifically, the transceiver 1100 can transmit and receive API requests and API responses with the service server 120. For example, the transceiver 1100 may obtain information such as a universal unique identifier from the first terminal 110. The transceiver 1100 may transmit an outbound API request including second identification information to the service server 120 and receive an API response corresponding to the outbound API request from the service server.
  • the processor 1120 can control the overall operation of the electronic device 1100 and process data and signals.
  • the processor 1120 may perform one of the methods described above with reference to FIGS. 1 to 11 .
  • the processor 1120 controls embodiments performed by the electronic device 1100 through interaction with the transceiver 1110 and the storage 1130 and further components that the electronic device 1100 may include. You can.
  • the processor 1120 checks an inbound API request including first identification information for the requester and request information for the API based on information obtained from the first terminal, and sends a second request to the inbound API request.
  • Assign identification information check the service server corresponding to the inbound API request, transmit an outbound API request including second identification information to the service server 120 based on the inbound API request, and send the service server 120 It may receive an API response corresponding to an outbound API request from , and provide a list page for inbound API requests, outbound API requests, and API responses.
  • the storage 1130 may store information for performing at least one method described above with reference to FIGS. 1 to 11 .
  • Storage 1130 may be referred to as memory and may be volatile memory or non-volatile memory.
  • storage 1130 may include the data storage of FIG. 3 .
  • the electronic device or terminal includes a processor, memory for storing and executing program data, permanent storage such as a disk drive, a communication port for communicating with an external device, a touch panel, and a key. , user interface devices such as icons, etc.
  • Methods implemented as software modules or algorithms may be stored on a computer-readable recording medium as computer-readable codes or program instructions executable on the processor.
  • computer-readable recording media include magnetic storage media (e.g., ROM (read-only memory), RAM (random-access memory), floppy disk, hard disk, etc.) and optical read media (e.g., CD-ROM). ), DVD (Digital Versatile Disc), etc.
  • the computer-readable recording medium is distributed among computer systems connected to a network, so that computer-readable code can be stored and executed in a distributed manner.
  • the media may be readable by a computer, stored in memory, and executed by a processor.
  • This embodiment can be represented by functional block configurations and various processing steps. These functional blocks may be implemented in various numbers of hardware or/and software configurations that execute specific functions. For example, embodiments include integrated circuit configurations such as memory, processing, logic, look-up tables, etc. that can execute various functions under the control of one or more microprocessors or other control devices. can be hired. Similar to how the components can be implemented as software programming or software elements, the present embodiments include various algorithms implemented as combinations of data structures, processes, routines or other programming constructs, such as C, C++, Java ( It can be implemented in a programming or scripting language such as Java, assembler, Python, etc. Functional aspects may be implemented as algorithms running on one or more processors.
  • this embodiment may employ conventional technologies for electronic environment settings, signal processing, and/or data processing.
  • Terms such as “mechanism,” “element,” “means,” and “composition” can be used broadly and are not limited to mechanical and physical components. The term may include the meaning of a series of software routines in connection with a processor, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

전자 장치에서 정보를 제공하는 방법이 개시된다. 구체적으로, 전자 장치에서 정보를 제공하는 방법은 제1 단말로부터 획득된 정보를 기반으로 요청자에 대한 제1 식별 정보 및 API(Application Programming Interface)에 대한 요청 정보를 포함하는 인바운드 API 리퀘스트(Inbound API Request)를 확인하는 단계; 인바운드 API 리퀘스트에 제2 식별 정보를 할당하는 단계; 인바운드 API 리퀘스트에 대응하는 서비스 서버를 확인하는 단계; 인바운드 API 리퀘스트를 기반으로 서비스 서버에 제2 식별 정보를 포함하는 아웃바운드 API 리퀘스트(Outbound API Request)를 전송하는 단계; 서비스 서버로부터 아웃바운드 API 리퀘스트에 대응하는 API 리스펀스(API Response)를 수신하는 단계; 및 인바운드 API 리퀘스트, 아웃바운드 API 리퀘스트 및 API 리스펀스에 대한 리스트 페이지를 제공하는 단계를 포함할 수 있다.

Description

정보를 제공하는 방법 및 장치
본 명세서의 실시 예는 정보를 제공하는 방법 및 장치에 관한 것이다. 보다 구체적으로 본 명세서의 실시 예는 단말이 실행한 API 리퀘스트와 이에 대응한 복수의 다른 서버에서 획득한 API 리스펀스를 관리하고 이에 대한 리스트 페이지를 통해 정보를 사용자에게 제공하는 방법 및 장치에 관한 것이다.
백엔드와 프론트엔드 사이의 정보 교환은 API(Application Programming Interface)에 의해 수행된다. 구체적으로, 프론트엔드에서 백엔드로 API를 요청하면, 백엔드에서 API 리퀘스트에 대응되는 API 리스펀스를 프론트엔드로 전송할 수 있다.
한편 사용자가 요청한 API 리퀘스트는 리퀘스트의 특성에 따라 각각 다른 서버에 제공될 수 있으며, 이들을 일괄적으로 파악하기 어려운 경우가 있다. 또한 서버와 연결된 단말에서 기능을 실행함에 따라, 프론트엔드는 해당 기능에 대응되는 복수 개의 API를 요청할 수 있고, 백엔드와 프론트엔드는 기능 실행에 대응되는 복수 개의 API를 통해 정보를 교환하게 된다. 다만, 단말에서의 기능 실행에 오류가 발생하는 등의 경우, 복수 개의 API 리퀘스트 및 복수 개의 API 리스펀스를 디버깅해야 하는데 송수신 주체가 다양한 환경에서 API 리퀘스트와 API 리스펀스를 일괄적으로 확인하기 어려운 문제가 있었다.
관련하여, KR102163818B1 건 및 KR102230272B1 건 등의 선행문헌들을 참조할 수 있다.
본 개시는 상술한 문제점을 해결하기 위해 제안된 것으로, 정보를 제공하는 방법 및 이를 장치를 제공하는데 있다.
보다 구체적으로 본 개시는 특정 단말이 요청하는 API 리퀘스트와 이에 대응한 API 리스펀스를 관리하고, 이를 저장함으로써 특정 단말의 엑션에 따라 생성된 API 리퀘스트와 API 리스펀스를 일괄적으로 확인할 수 있으며, 사용자를 이를 통해 주고받는 정보를 확인하고, 이에 대한 수정을 수행할 수 있는 방법 및 장치를 제공하는 것을 목적으로 한다.
본 실시 예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시 예들로부터 또 다른 기술적 과제들이 유추될 수 있다.
상술한 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제1측면에 따른 전자 장치에서 정보를 제공하는 방법은 제1 단말로부터 획득된 정보를 기반으로 요청자에 대한 제1 식별 정보 및 API(Application Programming Interface)에 대한 요청 정보를 포함하는 인바운드 API 리퀘스트(Inbound API Request)를 확인하는 단계; 인바운드 API 리퀘스트에 제2 식별 정보를 할당하는 단계; 인바운드 API 리퀘스트에 대응하는 서비스 서버를 확인하는 단계; 인바운드 API 리퀘스트를 기반으로 서비스 서버에 제2 식별 정보를 포함하는 아웃바운드 API 리퀘스트(Outbound API Request)를 전송하는 단계; 서비스 서버로부터 아웃바운드 API 리퀘스트에 대응하는 API 리스펀스(API Response)를 수신하는 단계; 및 인바운드 API 리퀘스트, 아웃바운드 API 리퀘스트 및 API 리스펀스에 대한 리스트 페이지를 제공하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 정보를 제공하는 방법은 제1 식별 정보에 기반하여, 제1 단말에 대응되는 인바운드 API 리퀘스트를 확인하는 단계; 제2 식별 정보에 기반하여 인바운드 API 리퀘스트에 대응되는 아웃바운드 API 리퀘스트 및 API 리스펀스를 확인하는 단계; 및 제1 식별 정보 및 제2 식별 정보를 기반으로 제1 식별 정보, 제2 식별 정보, 인바운드 API 리퀘스트, 아웃바운드 API 리퀘스트 및 API 리스펀스를 매칭하여 데이터 스토리지에 저장하는 단계를 더 포함할 수 있다.
일 실시 예에 따르면, 리스트 페이지를 제공하는 단계는 제1 식별 정보를 이용하여 데이터 스토리지에 저장된 복수 개의 인바운드 API 리퀘스트 중 제1 단말과 대응되는 인바운드 API 리퀘스트를 확인하는 단계; 제2 식별 정보를 이용하여 데이터 스토리지에 저장된 복수 개의 아웃바운드 API 리퀘스트 및 복수 개의 API 리스펀스 중에서 인바운드 API 리퀘스트와 대응되는 아웃바운드 API 리퀘스트의 세트 및 API 리스펀스의 세트를 확인하는 단계; 인바운드 API 리퀘스트와 매칭되는 아웃바운드 API 리퀘스트의 세트에 대한 제1 리스트와 아웃바운드 API 리퀘스트 및 API 리스펀스에 대한 제2 리스트를 포함하는 리스트 페이지를 제공하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 정보를 제공하는 방법은 제1 단말로부터 획득된 제1 페이지 상의 API 아웃바운드 API 리퀘스트에 대응되는 입력의 수신에 대응하여 제2 리스트를 제공하는 것을 특징으로 할 수 있다.
일 실시 예에 따르면, 서비스 서버를 확인하는 단계는 인바운드 API 리퀘스트와 동일한 제2 식별 정보를 가지는 아웃바운드 API 리퀘스트를 확인하는 단계; 및 아웃바운드 API 리퀘스트와 대응되는 서비스 서버를 확인하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 리스트 페이지를 제공하는 단계는 인바운드 API 리퀘스트를 제1 레벨로 표시하고, 제1 레벨보다 낮은 제2 레벨로 아웃바운드 API 리퀘스트를 표시함으로써, 리스트 페이지를 제공하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 리스트 페이지를 제공하는 단계는 아웃바운드 API 리퀘스트의 파일 사이즈에 대한 정보, 아웃바운드 API 리퀘스트에 대응되는 Method 정보, 아웃바운드 API 리퀘스트에 대응되는 Status 정보, 아웃바운드 API 리퀘스트에 모의 데이터(Mock data) 사용 여부에 대한 정보, 아웃바운드 API 리퀘스트의 전송 시간에 대한 정보, 제2 리스트에 대응되는 아이콘에 대한 정보 및 아웃바운드 API 리퀘스트의 디버깅 아이콘에 대한 정보 중 적어도 하나를 표시하여 리스트 페이지를 제공하는 단계를 포함할 수 있다.
일 실시 예에 따르면, API 리스펀스를 수신하는 단계는 제2 식별 정보를 포함하는 아웃바운드 API 리퀘스트의 전송에 따른 응답을 대기하는 단계; 및 서비스 서버로부터 아웃바운드 API 리퀘스트에 대한 응답인 API 리스펀스를 수신하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 정보를 제공하는 방법은 제2 식별 정보에 기반하여, 데이터 스토리지로부터 인바운드 API 리퀘스트와 대응되는 아웃바운드 API 리퀘스트의 세트를 확인하는 단계; 세트에 포함되는 아웃바운드 API 리퀘스트 중 중복되는 아웃바운드 API인 제1 아웃바운드 API 리퀘스트를 확인하는 단계; 세트에서 제1 아웃바운드 API 리퀘스트를 삭제하여 수정된 세트를 확인하는 단계; 및 인바운드 API 리퀘스트를 재 확인하면, 수정된 세트에 기반하여 제2 식별 정보를 포함하는 수정된 세트의 아웃바운드 API 리퀘스트를 전송하는 단계를 더 포함할 수 있다.
일 실시 예에 따르면, 정보를 제공하는 방법은 제2 식별 정보에 기반하여, 데이터 스토리지로부터 인바운드 API 리퀘스트와 대응되는 아웃바운드 API 리퀘스트의 세트를 확인하는 단계; API에 대한 스펙 정보에 기반하여, 세트에 포함되지 않는 제1 아웃바운드 API 리퀘스트를 확인하는 단계; 세트에 제1 아웃바운드 API 리퀘스트를 추가하여 수정된 세트를 확인하는 단계; 및 인바운드 API 리퀘스트를 재 확인하면, 수정된 세트에 기반하여 제2 식별 정보를 포함하는 수정된 세트의 아웃바운드 API 리퀘스트를 전송하는 단계를 더 포함할 수 있다.
일 실시 예에 따르면, 정보를 제공하는 방법은 제1 단말로부터 오류가 있다고 확인된 인바운드 API 리퀘스트에 대한 정보를 수신하는 단계; 인바운드 API 리퀘스트에 대한 정보에 기반하여 제2 식별 정보, 인바운드 API 리퀘스트에 대응되는 URL 정보 및 인바운드 API 리퀘스트에 대응되는 시간 정보를 확인하는 단계; 및 제1 식별 정보, 제2 식별 정보, URL 정보 및 시간 정보를 제2 단말로 전송하는 단계를 더 포함할 수 있다.
일 실시 예에 따르면, 정보를 제공하는 방법은 제2 단말로부터 인바운드 API 리퀘스트, 아웃바운드 API 리퀘스트 및 API 리스펀스 중 적어도 하나를 수정한 수정 데이터를 수신하는 단계; 및 수정 데이터에 기반하여, 인바운드 API 리퀘스트, 아웃바운드 API 리퀘스트 및 API 리스펀스 중 적어도 하나를 수정하는 단계를 포함할 수 있다.
본 개시의 제2측면에 따른 정보를 제공하는 전자 장치는 트랜시버; 스토리지; 및 제1 단말로부터 획득된 정보를 기반으로 요청자에 대한 제1 식별 정보 및 API에 대한 요청 정보를 포함하는 인바운드 API 리퀘스트를 확인하고, 인바운드 API 리퀘스트에 제2 식별 정보를 할당하고, 인바운드 API 리퀘스트에 대응하는 서비스 서버를 확인하고, 인바운드 API 리퀘스트를 기반으로 서비스 서버에 제2 식별 정보를 포함하는 아웃바운드 API 리퀘스트를 전송하고, 서비스 서버로부터 아웃바운드 API 리퀘스트에 대응하는 API 리스펀스를 수신하고, 및 인바운드 API 리퀘스트, 아웃바운드 API 리퀘스트 및 API 리스펀스에 대한 리스트 페이지를 제공하는 프로세서를 포함할 수 있다.
본 개시의 제3측면에 따른 기록매체는 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적 기록매체일 수 있다.
본 명세서의 실시 예에 따르면, 전자 장치는 특정 단말에 대한 API 리퀘스트 및 대응되는 API 리스펀스를 매칭하여 리스트 페이지로 제공함으로써, 단말의 서비스와 관련된 개선이 필요할 때, 개발자가 리스트 페이지를 통해 오류와 연관된 API 리퀘스트 또는 API 리스펀스를 용이하게 확인하고 이에 대한 테스트를 수행할 수 있도록 할 수 있다.
발명의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당해 기술 분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 다양한 실시 예에 따른 전자 장치가 정보를 제공하는 방법이 구현될 수 있는 정보 제공에 관한 시스템을 설명하기 위한 도면이다.
도 2는 일 실시 예에 따르면 정보를 제공하는 방법을 나타낸 흐름도이다.
도 3은 일 실시 예에 따른 정보 제공 시스템(10)을 보다 구체적으로 설명하기 위한 도면이다.
도 4는 제1 단말의 화면을 나타내는 도면이다.
도 5는 인바운드 API 리퀘스트를 표시하는 리스트 페이지를 나타내는 화면이다.
도 6은 인바운드 API 리퀘스트 및 대응되는 아웃바운드 API 리퀘스트를 표시하는 제1 리스트를 포함하는 리스트 페이지를 나타내는 화면이다.
도 7a는 제1 아웃바운드 API 리퀘스트(611)의 리퀘스트 헤더의 소스 코드에 대한 화면을 나타내고 있다.
도 7b는 제1 아웃바운드 API 리퀘스트(611)에 대응되는 API 리스펀스의 소스 코드에 대한 화면을 나타내고 있다.
도 8은 일 실시 예에 따른, 제1 단말 및 제2 단말을 통해 오류가 있다고 확인된 API 리퀘스트 또는 API 리스펀스를 수정하는 실시 예에 관한 도면이다.
도 9는 인바운드 API 리퀘스트에 대응되는 아웃바운드 API 리퀘스트의 세트를 수정하는 실시 예를 설명하기 위한 도면이다.
도 10a, 도 10b 및 도 10c는 API 리퀘스트 및 API 리스펀스를 모의하는 일 실시 예를 나타내는 도면이다.
도 11은 일 실시 예에 따른 정보를 제공하기 위한 전자 장치를 도식화한 블록도이다.
실시 예들에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 “포함”한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 “...부”, “...모듈” 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
명세서 전체에서 기재된 “a, b, 및 c 중 적어도 하나”의 표현은, ‘a 단독’, ‘b 단독’, ‘c 단독’, ‘a 및 b’, ‘a 및 c’, ‘b 및 c’, 또는 ‘a,b,c 모두’를 포괄할 수 있다.
이하에서 언급되는 "단말"은 네트워크를 통해 서버나 타 단말에 접속할 수 있는 컴퓨터나 휴대용 단말로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop) 등을 포함하고, 휴대용 단말은 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, IMT(International Mobile Telecommunication), CDMA(Code Division Multiple Access), W-CDMA(W-Code Division Multiple Access), LTE(Long Term Evolution) 등의 통신 기반 단말, 스마트폰, 태블릿 PC 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.
실시 예를 설명함에 있어서 본 발명이 속하는 기술 분야에 익히 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.
마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성요소에는 동일한 참조 번호를 부여하였다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
도 1은 다양한 실시 예에 따른 전자 장치가 정보를 제공하는 방법이 구현될 수 있는 정보 제공에 관한 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 다양한 실시 예에 따른 아이템 정보 제공에 관한 시스템(10)은 다양한 종류의 장치들에 의해 구현될 수 있다. 예를 들어, 아이템 정보 제공에 관한 시스템(10)은 전자 장치(100) 및 제1 단말(110) 및 서비스 서버(120)을 포함할 수 있다. 도1에 도시된 아이템 정보 제공에 관한 시스템(10)은 본 실시 예와 관련된 구성요소들만 도시되어 있다. 따라서, 도 1에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시 예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
전자 장치(100), 제1 단말(110) 및 서비스 서버(120) 각각은 트랜시버, 스토리지 및 프로세서를 포함할 수 있다. 또한, 전자 장치(100), 제1 단말(110) 및 서비스 서버(120) 각각은 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 한편 실시 예 전반에서 전자 장치(100), 제1 단말(110) 각각은 분리된 장치 또는 서버로 언급되나 이는 논리적으로 나누어진 구조일 수 있으며, 이들 중 적어도 일부가 하나의 장치 또는 서버에서 분리된 기능에 의해 구현될 수 있다.
일 실시 예에 따르면, 전자 장치(100), 제1 단말(110) 및 서비스 서버(120)는 네트워크 서버로 구현되는 다수의 컴퓨터 시스템 또는 컴퓨터 소프트웨어를 포함할 수 있다. 예를 들면, 전자 장치(100), 제1 단말(110) 및 서비스 서버(120) 중 적어도 일부는 인트라넷 또는 인터넷과 같은 컴퓨터 네트워크를 통해 다른 네트워크 서버와 통신할 수 있는 하위 장치와 연결되어 작업 수행 요청을 접수하고, 그에 대한 작업을 수행하여 수행 결과를 제공하는 컴퓨터 시스템 및 컴퓨터 소프트웨어를 지칭할 수 있다. 이외에도, 전자 장치(100), 제1 단말(110) 및 서비스 서버(120) 중 적어도 일부는 네트워크 서버 상에서 동작할 수 있는 일련의 응용 프로그램과, 내부 혹은 연결된 다른 노드에 구축되어 있는 각종 데이터베이스를 포함하는 광의의 개념으로 이해될 수 있다. 예컨대, 전자 장치(100), 제1 단말(110) 및 서비스 서버(120) 중 적어도 일부는 도스(DOS), 윈도우(Windows), 리눅스(Linux), 유닉스(UNIX), 또는 맥OS(MacOS) 등의 운영 체제에 따라 다양하게 제공되는 네트워크 서버 프로그램을 이용하여 구현될 수 있다.
전자 장치(100), 제1 단말(110) 및 서비스 서버(120)는 네트워크(미도시)를 통해서 서로 통신할 수 있다. 네트워크는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동 통신망(mobile radio communication network), 위성 통신망 및 이들의 상호 조합을 포함하며, 도 1에 도시된 각 네트워크 구성 주체가 서로 원활하게 통신을 할 수 있도록 하는 포괄적인 의미의 데이터 통신망이며, 유선 인터넷, 무선 인터넷 및 모바일 무선 통신망을 포함할 수 있다. 무선 통신은 예를 들어, 무선 랜(Wi-Fi), 블루투스, 블루투스 저 에너지(Bluetooth low energy), 지그비, WFD(Wi-Fi Direct), UWB(ultra wideband), 적외선 통신(IrDA, infrared Data Association), NFC(Near Field Communication) 등이 있을 수 있으나, 이에 한정되는 것은 아니다.
일 실시 예에 따르면, 전자 장치(100)는 제1 단말(110)로부터 획득된 정보를 기반으로 요청자에 대한 제1 식별 정보 및 API(Application Programming Interface)에 대한 요청 정보를 포함하는 인바운드 API 리퀘스트(Inbound Request)를 확인하고, 인바운드 API 리퀘스트에 제2 식별 정보를 할당하고, 인바운드 API 리퀘스트에 대응하는 서비스 서버를 확인하고, 인바운드 API 리퀘스트를 기반으로 서비스 서버에 제2 식별 정보를 포함하는 아웃바운드 API 리퀘스트를 전송하고, 서비스 서버로부터 아웃바운드 API 리퀘스트에 대응하는 API 리스펀스를 수신하고 및 인바운드 API 리퀘스트, 아웃바운드 API 리퀘스트 및 API 리스펀스에 대한 리스트 페이지를 제공하는 구체적인 실시 예는 하기에서 자세히 살펴보기로 한다.
도 2는 일 실시 예에 따르면 정보를 제공하는 방법을 나타낸 흐름도이다.
도 2를 참조하면, 전자 장치에서 정보를 제공하는 각 동작은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해되는 범위 내에서 일부 동작이 변경, 치환되거나 동작 간의 일부 순서가 변경될 수 있음은 자명하게 이해될 수 있다.
단계 S210에서, 전자 장치(100)는 제1 단말로부터 획득된 정보를 기반으로 요청자에 대한 제1 식별 정보 및 API에 대한 요청 정보를 포함하는 인바운드 API 리퀘스트를 확인할 수 있다.
일 실시 예에 따르면, 제1 단말(110)은 애플리케이션, 프로그램 등을 통해 다양한 동작을 수행하는 전자 장치일 수 있다. 제1 단말(110)은 모바일 디바이스, 컴퓨터 디바이스일 수 있으나, 어느 것에 한정되는 것은 아니다. 제1 단말(110)은 API에 대한 요청 정보 및 제1 단말을 식별하기 위한 정보를 전자 장치(100)로 전송하고, 본원의 실시 예에 따른 방법에 기반하여 획득된 데이터 등을 통해 해당 기능을 수행할 수 있다. 예를 들어, 전자 상거래 애플리케이션을 통해 특정 상품의 상세 페이지로 접속 요청에 따른 응답으로, 제1 단말(110)은 특정 상품의 이미지, 가격 정보 및 할인 정보 등이 포함된 페이지를 획득함으로써, 특정 상품의 페이지는 표시될 수 있다. 이와 같은 페이지를 표시하기 위해 전자 상거래 서비스 서버는 페이지에 표시되는 정보를 관리하는 데이터 베이스로부터 각 데이터를 수신하여 이를 기반으로 페이지를 생성할 수 있다. 한편 이와 같은 페이지 생성은 전자 상거래 서비스 서버에서 제공한 정보를 기반으로 단말에서도 생성될 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 제1 단말(110)로부터 획득된 정보에 기반하여 요청자에 대한 제1 식별 정보를 획득할 수 있다. 여기서, 획득된 정보는 제1 단말(110)에서 수행하고자 하는 기능을 요청한 요청자에 대한 정보를 포함할 수 있다. 예를 들어, 전자 장치(100)는 제1 단말(110)로부터 요청자를 다른 유저와 구별하기 위한 범용 고유 식별자(Universally Unique Identifier, UUID)에 대한 정보를 획득할 수 있다. 이에 따라, 전자 장치는 제1 단말(110)로부터 획득된 범용 고유 식별자에 대한 정보 기반하여 식별 정보를 확인할 수 있다. 제1 식별 정보는 범용 고유 식별자일 수 있으나, 이에 한정되는 것은 아니다. 예를 들어, 제1 식별 정보는 요청자의 아이디 정보일 수도 있다.
일 실시 예에 따르면, 전자 장치(100)는 API에 대한 요청 정보를 포함하는 인바운드 API 리퀘스트를 확인할 수 있다. 보다 상세하게는, 전자 장치(100)는 제1 단말(110)에서의 기능을 실행하는데 필요한 적어도 하나의 API에 대한 요청 정보를 포함하는 인바운드 API 리퀘스트를 확인할 수 있다. 또한, 제1 단말(110)에서의 기능에 대응되는 인바운드 API 리퀘스트는 복수 개로 구성될 수 있다. 예를 들어, 1) 제1 단말(110)에서의 기능이 특정 상품에 대한 상세 페이지 요청이면, 2) 인바운드 API 리퀘스트는 GNB(Global Navication bar)와 같이 상품의 종류와 관계없이 모든 상세 페이지에 포함되는 메뉴에 대응되는 리퀘스트와 특정 상품에 대한 정보(예를 들어, 가격 정보, 수량 정보 등의 정보)에 대응되는 리퀘스트를 모두 포함할 수 있다.
단계 S220에서, 전자 장치(100)는 인바운드 API 리퀘스트에 제2 식별 정보를 할당할 수 있다. 여기서, 제2 식별 정보는 인바운드 API 리퀘스트를 다른 인바운드 API 리퀘스트와 구분하기 위한 정보일 수 있다. 또한, 제2 식별 정보는 인바운드 API 리퀘스트와 동일한 제2 식별 정보를 가지는 적어도 하나의 아웃바운드 API 리퀘스트를 확인하는데 사용될 수 있다. 이에 따라, 전자 장치(100)는 제2 식별 정보에 기반하여, 제1 단말(110)에서의 기능에 대응되는 복수 개의 인바운드 API 리퀘스트 각각과 대응되는 적어도 하나의 아웃바운드 API 리퀘스트를 정렬할 수 있다. 이와 같이 제2 식별 정보를 API 리퀘스트에 할당함으로써 특정 단말 혹은 요청자가 제공한 API 리퀘스트를 추적(trace)할 수 있으며, 이를 통해 API 리퀘스트와 대응되는 API 리스펀스를 일괄적으로 관리할 수 있다.
단계 S230에서, 전자 장치(100)는 인바운드 API 리퀘스트에 대응되는 서비스 서버를 확인할 수 있다. 보다 상세하게는, 전자 장치(100)는 인바운드 API 리퀘스트와 동일한 제2 식별 정보를 가지는 아웃바운드 API 리퀘스트를 확인할 수 있고, 확인된 아웃바운드 API 리퀘스트에 대응되는 서비스 서버를 확인할 수 있다. 인바운드 API 리퀘스트에 포함되는 적어도 하나의 API 요청 정보에 따른 적어도 하나의 API를 요청하기 위해서는 인바운드 API 리퀘스트 및 아웃바운드 API 리퀘스트의 매칭 정보가 필요할 수 있다. 이와 관련된 일 실시 예로, 전자 장치(100)는 제2 식별 정보를 이용하여, 인바운드 API 리퀘스트와 동일한 제2 식별 정보를 가지는 적어도 하나의 아웃바운드 API 리퀘스트를 식별할 수 있다. 여기서, 적어도 하나의 아웃바운드 API 리퀘스트는 적어도 하나의 API 요청 정보와 각각 대응될 수 있다. 또한, 여기서, 아웃바운드 API 리퀘스트는 전자 장치(100)에서 서비스 서버로 전송되는 리퀘스트로, 인바운드 API 리퀘스트의 일 부분일 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 적어도 하나의 아웃바운드 API 리퀘스트를 전송할 서비스 서버를 확인할 수 있다. 여기서, 서비스 서버는 전자 장치(100)로부터 수신된 리퀘스트에 대응되는 API 리스펀스를 전송하는 서버로, 서비스 서버는 웹 애플리케이션 서버(Web Application Server), DB 서버일 수 있으나 이에 한정되는 것은 아니다. 또한, 서비스 서버는 복수 개의 서브 서비스 서버를 포함할 수 있다.
단계 S240에서, 전자 장치(100)는 인바운드 API 리퀘스트를 기반으로 서비스 서버에 제2 식별 정보를 포함하는 아웃바운드 API 리퀘스트를 전송할 수 있다.
단계 S250에서, 전자 장치(100)는 서비스 서버로부터 아웃바운드 API 리퀘스트에 대응하는 API 리퀘스트를 수신할 수 있다.
송신된 아웃바운드 API 리퀘스트에 대응되는 API 리퀘스트를 확인하기 위한 일 실시 예로, 전자 장치(100)는 제2 식별 정보를 포함하는 아웃바운드 API 리퀘스트의 전송에 따른 응답을 대기할 수 있고, 서비스 서버로부터 아웃바운드 API 리퀘스트에 대한 응답인 API 리스펀스를 수신할 수 있다. 이에 따라, 전자 장치(100)는 수신된 API 리스펀스에 별도의 식별자가 없더라도 수신된 API 리스펀스에 대응되는 아웃바운드 API 리퀘스트를 확인할 수 있다. 다만 이에 한정되는 것은 아니고, 전자 장치(100)는 API 리스펀스에 포함되는 제2 식별 정보에 기반하여 동일한 제2 식별 정보를 가지는 아웃바운드 API 리퀘스트를 확인할 수 있다.
단계 S260에서, 전자 장치(100)는 인바운드 API 리퀘스트, 아웃바운드 API 리퀘스트 및 API 리스펀스에 대한 리스트 페이지를 제공할 수 있다. 보다 상세하게는, 전자 장치(100)는 제1 식별 정보에 기반하여 제1 단말(110)과 대응되는 인바운드 API 리퀘스트를 확인하고, 제2 식별 정보에 기반하여 인바운드 API 리퀘스트에 대응되는 아웃바운드 API 리퀘스트의 세트 및 AP 리스펀스의 세트를 확인할 수 있다. 이에 따라, 전자 장치(100)는 인바운드 API 리퀘스트와 매칭되는 API 리퀘스트의 세트에 대한 제1 리스트와 API 아웃바운드 API 리퀘스트 및 API 리스펀스에 대한 제2 리스트를 포함하는 리스트를 제공할 수 있다. 리스트 페이지를 제공하는 구체적인 실시 예는 하기에서 자세히 살펴보기로 한다.
도 3은 일 실시 예에 따른 정보 제공 시스템(10)을 보다 구체적으로 설명하기 위한 도면이다.
도 3을 참조하면, 다양한 실시 예에 따른 아이템 정보 제공에 관한 시스템(10)은 다양한 종류의 장치들에 의해 구현될 수 있다. 예를 들어, 아이템 정보 제공에 관한 시스템(10)은 전자 장치(100) 및 제1 단말(110), 서비스 서버(120) 및 데이터 스토리지(미도시)를 포함할 수 있다. 데이터 스토리지(미도시)는 전자 장치(100) 내의 스토리지일 수도 있고, 전자 장치(100) 외부의 스토리지일 수 있으나 이에 한정되는 것은 아니다. 또한, 데이터 스토리지는 레디스(Remote Dictionary Server)로 오픈 소스 기반의 비관계형 데이터베이스 관리 시스템일 수 있다.
단계 S310에서, 전자 장치(100)는 제1 단말(110)로부터 API에 대한 요청 정보를 수신할 수 있다. API에 대한 요청 정보를 수신함에 따라, 전자 장치(100)는 API에 대한 요청 정보를 포함하는 인바운드 API 리케스트를 확인할 수 있다. 여기서, API에 대한 요청 정보는 제1 단말(110)에서 수행되는 기능에 대응될 수 있다.
또한, 전자 장치(100)는 제1 단말(110)로부터 획득된 정보에 기반하여 요청자에 대한 제1 식별 정보를 획득할 수 있다. 1) 예를 들어, 제1 단말(110)이 컴퓨터 디바이스이면, 전자 장치(100)는 제1 단말(110)로부터 획득된 범용 고유 식별자를 요청자에 대한 제1 식별 정보로 획득할 수 있다. 2) 또한 예를 들어, 제1 단말(110)이 모바일 디바이스이면, 전자 장치(100)는 제1 단말(110)로부터 획득된 범용 고유 식별자와 대응되는 사용자 ID(예를 들면, PCID)를 요청자에 대한 제1 식별 정보로 획득할 수 있다.
일 실시 예에 따르면, 정보 제공을 위한 전자 장치(100)는 Nginx 및 Java Application을 포함할 수 있다. 1) Nginx는 오픈 소스 웹 서버 프로그램으로, HTTP, 리버스 프록시 등의 서버 구동이 가능한 웹 서버이다. 보다 상세하게는, Nginx는 비동기 이벤트 기반의 구조로 작동하는 웹 서버로, 전자 장치(100)는 Nginx를 통해 적은 리소스로 효율적인 트래픽 처리를 할 수 있다. 또한, 전자 장치(100)는 Nginx를 통해 본원의 API 리퀘스트와 API 리스펀스를 중개하는 전자 장치로 동작할 수 있다. 2) Java는 백엔드에서 주로 사용되는 프로그래밍 언어 중 하나일 수 있다. 전자 장치(100)는 Java Application을 통해 인바운드 API 리퀘스트와 동일한 제2 식별 정보를 가지는 적어도 하나의 아웃바운드 API 리퀘스트를 서비스 서버로 전송할 수 있다.
또한, 전자 장치(100)는 아웃바운드 API 리퀘스트 및 API 리스펀스 중 추가적인 테스트가 필요한 부분을 모의, 수정하기 위한 모의 에이전트(Mock Agent)를 포함할 수 있다. 예를 들어, 제1 단말을 통해 특정 상품의 상세 페이지를 접속하였을 때, 특정 상품의 가격 정보, 할인 정보 등에 에러가 있어 상세 페이지의 특정 상품의 가격에 대한 정보가 표시되지 않을 수 있다. 이때, 전자 장치(100)는 특정 상품의 vendor Item ID에 대한 API 리퀘스트에 대응되는 API 리스펀스를 수정하는 기능을 포함하는 리스트 페이지를 제공할 수 있다. 따라서, 추가 테스트를 하는 경우, 전자 장치(100)는 특정 상품의 vendor Item ID에 대한 API 리퀘스트에 따른 응답으로 수정된 API 리스펀스(Mocked API Response)를 수신할 수 있다. 이에 따라, 제1 단말은 특정 상품의 가격에 대한 정보가 제대로 표시된 상세 페이지를 표시할 수 있다. 이와 관련하여, 도 6 및 도 9에서 자세히 살펴보기로 한다.
단계 S320에서, 전자 장치(100)는 제1 식별 정보, 제2 식별 정보 및 인바운드 API 리퀘스트를 매칭하여 데이터 스토리지에 저장할 수 있다. 이에 앞서, 전자 장치(100)는 인바운드 API 리퀘스트에 제2 식별 정보를 할당할 수 있다. 이에 따라, 전자 장치(100)는 제2 식별 정보에 기반하여 인바운드 API 리퀘스트를 다른 인바운드 API 리퀘스트와 구별할 수 있다. 전자 장치(100)는 인바운드 API 리퀘스트와 동일한 제2 식별 정보를 가지는 아웃바운드 API 리퀘스트를 구별할 수 있다. 전자 장치(100)는 제1 식별 정보에 기반하여 제1 단말과 대응되는 인바운드 API 리퀘스트를 확인하고, 제2 식별 정보와 인바운드 API 리퀘스트를 매칭할 수 있다. 이런 매칭 관계에 기반하여, 전자 장치(100)는 제1 식별 정보, 제2 식별 정보 및 인바운드 API 리퀘스트를 데이터 스토리지에 저장할 수 있다.
단계 S330에서, 전자 장치(100)는 인바운드 API 리퀘스트에 대응하는 서비스 서버를 확인하고, 확인된 서비스 서버로 인바운드 API 리퀘스트에 대응되는 적어도 하나의 아웃바운드 API 리퀘스트를 전송할 수 있다. 예를 들면, 도 3을 참조하면, 전자 장치(100)는 제1 서비스에 대한 서비스 서버로 제1 아웃바운드 API 리퀘스트를 전송할 수 있고, 제2 서비스에 대한 서비스 서버로 제2 아웃바운드 API 리퀘스트를 전송할 수 있다. 또한, 전자 장치(100)는 제1 서비스에 대한 서비스 서버로부터 제1 아웃바운드 API 리퀘스트에 대응되는 제1 API 리스펀스를 수신할 수 있고, 제2 서비스에 대한 서비스 서버로부터 제2 아웃바운드 API 리퀘스트에 대응되는 제2 API 리퀘스트를 수신할 수 있다.
여기서, 서비스 서버로 전송되는 아웃바운드 API 리퀘스트는 HTTP(HyperText Transfer Protocol) 규약에 따르며, 리퀘스트 라인, 리퀘스트 헤더, 리퀘스트 바디를 포함할 수 있다. 또한, API 리스펀스는 HTTP 규약에 따라, Status 라인, 리스펀스 헤더, 리스펀스 바디를 포함할 수 있다. 또한, 본원에서 API는 Rest(Representational State of Transfer) API일 수 있으나, 이에 한정되는 것은 아니다.
단계 S340에서, 전자 장치(100)는 서비스 서버(120)로부터 API 리스펀스를 수신할 수 있다. 보다 상세하게는, 전자 장치(100)는 제1 아웃바운드 API 리퀘스트의 전송에 따른 응답을 대기하고, 제1 서비스를 포함하는 서비스 서버로부터 제1 아웃바운드 API 리퀘스트에 대한 응답인 제2 API 리스펀스를 수신할 수 있다. 이에 따라, 전자 장치(100)는 서비스 서버로부터 수신된 API 리스펀스(제1 API 리스펀스 및 제2 API 리스펀스를 포함.) 중 제1 아웃바운드 API 리퀘스트와 대응되는 제1 API 리스펀스를 확인할 수 있다.
단계 S350에서, 전자 장치(100)는 제2 식별 정보를 포함하는 아웃바운드 API 리퀘스트 및 대응되는 API 리스펀스를 데이터 스토리지에 저장할 수 있다.
단계 S320 및 단계 S350을 통해, 전자 장치(100)는 제1 식별 정보 및 제2 식별 정보를 기반으로 제1 식별 정보, 제2 식별 정보, 인바운드 API 리퀘스트, 아웃바운드 API 리퀘스트 및 API 리스펀스를 매칭하여 데이터 스토리지에 저장할 수 있다. 보다 상세하게는, 전자 장치(100)는 제1 아웃 바운드 API 리퀘스트 및 제1 API 리스펀스를 매칭하고, 제2 아웃바운드 API 리퀘스트 및 제2 API 리스펀스를 매칭함으로써, 아웃바운드 API 리퀘스트 및 API 리스펀스를 데이터 스토리지에 저장할 수 있다. 전자 장치(100)는 제1 식별 정보에 기반하여 제1 단말에 대응되는 인바운드 API 리퀘스트를 확인하고, 제2 식별 정보에 기반하여 인바운드 API 리퀘스트에 대응되는 아웃바운드 API 리퀘스트 및 API 리스펀스를 확인할 수 있다.
단계 S360에서, 전자 장치(100)는 인바운드 API 리퀘스트, 아웃바운드 API 리퀘스트 및 API 리스펀츠를 매칭하여 리스트 페이지를 제공할 수 있다. 보다 상세하게는, 리스트 페이지는 제1 단말(110)에 대응되는 제1 식별 정보를 검색함에 따른 제1 단말(110)의 작업 환경에서의 리스트 페이지일 수 있다. 다만, 제1 단말(110)에서만 제1 단말(110)의 작업 환경에서의 리스트 페이지를 확인할 수 있는 것은 아니다.
단계 S370에서, 전자 장치(100)는 리스트 페이지를 제2 단말에도 제공할 수 있다. 보다 상세하게는, 제2 단말로부터 제1 단말(110)의 제1 식별 정보에 대응하는 리스트 페이지에 대한 요청을 수신함에 따라, 전자 장치(100)는 리스트 페이지를 제2 단말에도 제공할 수 있다. 이전에, 제1 단말(110)의 사용자는 제1 단말(100에 대응하는 제1 식별 정보를 제2 단말(110)의 사용자에게 제공할 수 있다.
단계 S380에서, 전자 장치(100)는 인바운드 API 리퀘스트에 대응되는 기능을 제공할 수 있다. 예를 들어, 전자 장치(100)는 서비스 서버(120)로부터 획득한 정보를 기반으로 API에 대한 요청에 대응되는 전자 상거래 관련 페이지를 생성할 수 있고, 이를 제1 단말(110)에 제공할 수 있다.
도 4는 제1 단말의 화면을 나타내는 도면이다.
일 실시 예에 따르면, 제1 단말(110)은 다양한 기능 및 동작을 수행하는 전자 장치일 수 있다. 보다 상세하게는, 사용자가 제1 단말(110)을 통해 롤 화장지 30m 상품(이하 대상 아이템)의 상세 페이지로 접속하는 것에 관한 기능을 실행시키면, 제1 단말(110)은 페이지(400)와 같은 페이지를 표시할 수 있다. 페이지(400)는 제1 단말(110)의 기능 실행에 따른 복수개의 인바운드 API 리퀘스트와 매칭되는 페이지(400) 상의 복수개의 영역으로 구분될 수 있다.
예를 들면, 페이지(400)의 영역 1(410)은 브레드크럼(breadcrumb)에 관한 영역으로 대상 아이템에 대한 "대 메뉴부터 하위 카테고리"을 표시할 수 있다. 페이지(400)의 영역 2는 영역(421), 영역(422) 및 영역(423)을 포함할 수 있고, 영역 2는 대상 아이템에 대한 이미지, 대상 아이템에 대한 대상 아이템의 이름 정보, 대상 아이템에 대한 평점 정보, 대상 아이템에 대한 평점 수 정보 대상 아이템에 대한 가격 정보를 포함할 수 있다. 페이지(400)의 영역 3(430)은 마이쿠팡 아이콘에 관한 영역으로 요청자(전자 상거래 서비스의 사용자일 수 있다.)의 정보를 표시할 수 있다. 페이지(400)의 영역 4(440)는 할인 정보에 관한 영역을 표시할 수 있다. 페이지(400)의 영역 5(450)는 장바구니에 대한 정보를 표시할 수 있다. 페이지(400)의 영역 6(460)는 페이지(400)의 배너 광고에 대한 영역일 수 있다. 다만 페이지(400)의 영역은 영역 1(410), 영역 2, 영역 3(430), 영역 4(440), 영역 5(450) 및 영역 6(460)뿐만 아니라 배송 정보에 대한 영역도 포함할 수 있다.
도 2에서 살펴본 바와 같이, 전자 장치(100)는 인바운드 API 리퀘스트와 매칭되는 아웃바운드 API 리퀘스트의 세트에 대한 제1 리스트와 아웃바운드 API 리퀘스트 및 대응되는 API 리스펀스에 대한 제2 리스트를 포함하는 리스트 페이지를 제공할 수 있다. 하기에서는 도 4의 실시 예에 대응되는 리스트 페이지를 제공하는 실시 예에 대해 살펴보기로 한다.
도 5는 인바운드 API 리퀘스트를 표시하는 리스트 페이지를 나타내는 화면이다.
일 실시 예에 따르면, 전자 장치(100)는 제1 단말의 기능 실행에 대응되는 복수 개의 인바운드 API 리퀘스트를 확인할 수 있다. 또한, 전자 장치(100)는 제1 단말의 기능 실행에 대응되는 복수 개의 인바운드 API 리퀘스트를 나타내는 리스트 페이지(500)을 제공할 수 있다. 리스트 페이지(500) 및 제1 단말(110)에 표시되는 페이지(400)의 복수 개의 영역 간의 매칭 관계는 하기와 같다.
1) 리스트 페이지(500)의 인바운드 API 리퀘스트(510)는 브레드크럼에 대한 리퀘스트로, 페이지(400)의 영역 1(410)의 "쿠팡 홈, 싱글라이프, 세제/화장지, 화장지, 고급롤화장지(3겹이상)"와 대응될 수 있다. 2) 리스트 페이지(500)의 인바운드 API 리퀘스트(520)는 vendor item ID가 "5077941266"인 아이템에 대한 정보에 관한 리퀘스트로, 페이지(400)의 영역(421), 영역(422) 및 영역(423)에 대응될 수 있다. 3) 리스트 페이지(500)의 인바운드 API 리퀘스트(530)는 사용자 정보에 관한 리퀘스트로, 페이지(400)의 영역(430)과 대응될 수 있다. 4) 리스트 페이지(500)의 인바운드 API 리퀘스트(540)는 vendor item ID가 "5077941266"인 아이템에 할인 정보에 관한 리퀘스트로, 페이지(400)의 영역 4(440)에 대응될 수 있다. 5) 리스트 페이지(500)의 인바운드 API 리퀘스트(550)는 장바구니 카운트에 관한 리퀘스트로, 페이지(400)의 영역 5(450)에 대응될 수 있다. 6) 리스트 페이지(500)의 인바운드 API 리퀘스트(560)는 아이템 "261192458"과 관련된 배너에 대한 리퀘스트로, 페이지(400)의 영역 6(460)에 표시된 롤 화장지 18개에 대한 광고와 대응될 수 있다.
다만, 리스트 페이지(500)은 전자 장치(100)에만 제공되는 것은 아니다. 다른 사용자는 제1 식별 정보인 "6288215614209259755120"(570)을 입력함으로써, 제1 단말(110)에서의 기능 실행(도 4에 따른 대상 상품의 상세 페이지로의 접속 실행)에 따른 인바운드 API 리퀘스트를 표시한 리스트 페이지(500)를 확인할 수 있다.
또한, 전자 장치(100)는 제1 식별 정보를 이용하여 데이터 스토리지에 저장된 복수 개의 인바운드 API 리퀘스트 중 제1 단말과 대응되는 인바운드 API 리퀘스트를 확인하고, 제2 식별 정보를 이용하여 데이터 스토리지에 저장된 복수 개의 아웃바운드 API 리퀘스트 및 복수 개의 API 리스펀스 중에서 인바운드 API 리퀘스트와 대응되는 아웃바운드 API 리퀘스트의 세트 및 API 리스펀스의 세트를 확인할 수 있다. 이에 따라, 전자 장치(100)는 인바운드 API 리퀘스트와 매칭되는 아웃바운드 API 리퀘스트의 세트에 대한 제1 리스트와 아웃바운드 API 리퀘스트 및 API 리스펀스에 대한 제2 리스트를 포함하는 리스트 페이지를 제공할 수 있다. 이와 관련된 구체적인 실시 예를 하기 도 6에서 자세히 살펴본다.
도 6은 인바운드 API 리퀘스트 및 대응되는 아웃바운드 API 리퀘스트를 표시하는 제1 리스트를 포함하는 리스트 페이지를 나타내는 화면이다.
일 실시 예에 따르면, 전자 장치(100)는 인바운드 API 리퀘스트를 제1 레벨로 표시하고, 제1 레벨보다 낮은 제2 레벨로 대응되는 아웃바운드 API 리퀘스트를 표시함으로써, 리스트 페이지(600)를 제공할 수 있다. 예를 들어, 리스트 페이지(600)상의 Index 넘버 12인 "breadcrmb-gnbmenu"에 대한 인바운드 API 리퀘스트(610)을 클릭하면, 전자 장치(100)는 인바운드 API 리퀘스트(610)와 매칭되는 아웃바운드 API 리퀘스트의 세트에 대한 리스트 1을 포함하는 리스트 페이지(600)을 제공할 수 있다. 이와 관련하여, 리스트 페이지(600)는 인바운드 API 리퀘스트와 매칭되는 아웃바운드 API 리퀘스트의 세트의 개수를 인바운드 API 리퀘스트에 대한 행의 Count에 표시할 수 있다. 예를 들어, 인바운드 API 리퀘스트(610)와 매칭되는 아웃바운드 API 리퀘스트의 세트의 개수는 5개일 수 있다. 인바운드 API 리퀘스트(610)와 매칭되는 아웃바운드 API 리퀘스트의 세트는 "hotketword"에 대한 제1 아웃바운드 API 리퀘스트(611), "searchads"에 대한 제2 아웃바운드 API 리퀘스트(612), "member"에 대한 제3 아웃바운드 API 리퀘스트(613), "category-info"에 대한 제4 아웃바운드 API 리퀘스트(614) 및 "document"에 대한 제5 아웃바운드 API 리퀘스트(615)를 포함할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 아웃 바운드 API 리퀘스트에 대한 정보를 제1 리스트에 표시하여 리스트 페이지(600)에 표시하여 제공할 수 있다. 아웃 바운드 API 리퀘스트에 대한 정보는 아웃바운드 API 리퀘스트의 파일 사이즈에 대한 정보(631), 아웃바운드 API 리퀘스트에 대응되는 Method 정보(632), API 리퀘스트의 성공 여부에 대한 Status 정보(633), 아웃바운드 API 리퀘스트에 모의 데이터(Mock data) 사용 여부에 대한 정보(634), 제2 리스트에 대응되는 아이콘에 대한 정보(635), 아웃바운드 API 리퀘스트의 디버깅 아이콘에 대한 정보(636) 및 아웃바운드 API 리퀘스트의 전송 시간에 대한 정보(637)를 포함할 수 있다.
1) 아웃바운드 API 리퀘스트의 파일 사이즈에 대한 정보(636)는 아웃바운드 API 리퀘스트의 파일 사이즈를 나타낼 수 있다. 예를 들어, 제1 아웃바운드 API 리퀘스트(611)의 파일 사이즈는 0.51KB일 수 있다.
본원에서의 API는 REST 아키텍처의 제약 조건을 준수하는 REST API(Representational State Transfer)일 수 있다. 구체적으로, API Rest 아키텍처는 HTTP Method를 통해 리소스를 처리하도록 설계된 아키텍처를 의미할 수 있다. 예를 들어, 제3 아웃바운드 API 리퀘스트(613)은 HTTP 규약을 따르며, 리소스인 member를 포함할 수 있다. 하기에서 2) 해당 리소스에 대한 operation을 의미하는 HTTP 프로토콜의 Method인 아웃바운드 API 리퀘스트에 대응되는 Method 정보(632) 및 3) 아웃바운드 API 리퀘스트에의 성공 여부를 나타내는 Status 정보(633)에 대해 자세히 설명하기로 한다.
2) 아웃바운드 API 리퀘스트에 대응되는 Method 정보(632)는 HTTP 프로토콜의 Method에 대한 정보일 수 있다. 예를 들어, Method 정보(632)가 "GET"이면, 서비스 서버(120)는 REST API 리소스에 대한 정보를 검색하여 전자 장치(100)로 API 리스펀스할 수 있다. Method 정보(632)가 "POST"이면, 서비스 서버(120)는 REST API 리소스를 생성하여 전자 장치(100)로 API 리스펀스할 수 있다. Method 정보(632)가 "PUT"이면, 서비스 서버(120)는 REST API 리소스를 업데이트하여 전자 장치(100)로 API 리스펀스할 수 있다. Method 정보(632)가 "DELETE"이면, 서비스 서버(120)는 REST API 리소스 또는 관련 구성을 삭제하여 전자 장치(100)로 API 리스펀스할 수 있다. 다만, Method 정보(632)는 상기 예시에 한정되는 것은 아니다. 도 6을 참조하면, 제1 아웃바운드 API 리퀘스트(610)의 Method 정보는 "POST"인 바, 서비스 서버(120)는 REST API 리소스를 생성하여 전자 장치(100)로 API 리스펀스할 수 있다.
3) 아웃바운드 API 리퀘스트에 대응되는 Status 정보(633)는 HTTP 규약에 따른 아웃바운드 API 리퀘스트의 성공 여부에 대한 정보일 수 있다. 예를 들어, Status 정보(633)가 "200"이면, Status 정보(633)는 서비스 서버(120)가 아웃바운드 API 리퀘스트를 정상적으로 처리했다는 정보일 수 있다. Status 정보(633)가 "201"이면, Status 정보(633)는 서비스 서버(120)가 아웃바운드 API 리퀘스트를 정상적으로 처리하고 새로운 리소스가 생겼다는 정보일 수 있다. Status 정보(633)가 "400"이면, Status 정보(633)는 아웃바운드 API 리퀘스트가 유효하지 않아 서비스 서버(120)에서 처리되지 않았다는 정보일 수 있다. 다만, Status 정보(633)는 상기 예시에 한정되는 것은 아니다. 도 6을 참조하면, 제1 아웃바운드 API 리퀘스트(610)의 status 정보는 200인 바, 서비스 서버(120)는 제1 아웃바운드 API 리퀘스트를 정상적으로 처리했음을 알 수 있다.
4) 아웃바운드 API 리퀘스트에 모의 데이터(Mock data) 사용 여부에 대한 정보(634)는 아웃바운드 API 리퀘스트 및 대응되는 API 리스펀스에 모의 데이터가 사용되었는지 여부를 나타낼 수 있다. 구채적으로, 리스트 페이지는 모의 데이터가 사용되는지 여부에 따라 아웃바운드 API 리퀘스트에 대응되는 슬라이드 버튼을 상이하게 표시하 수 있다. 예를 들면, 도 6을 참조하면, 제1 아웃바운드 API 리퀘스트(610)에 모의 데이터(Mock data) 사용 여부에 대한 정보(634)는 제1 아웃바운드 API 리퀘스트(610) 및 대응되는 API 리스펀스에 모의 데이터가 사용되지 않았음을 나타내고 있다.
5) 제2 리스트에 대응되는 아이콘에 대한 정보(635)는 아웃바운드 API 리퀘스트 및 대응되는 API 리스펀스에 대한 제2 리스트와 대응될 수 있다. 예를 들어, 리스트 페이지(600)에 표시된 제1 아웃바운드 API 리퀘스트(611)의 view 버튼을 통해 입력에 대응하여, 전자 장치(100)는 아웃바운드 API 리퀘스트 및 대응되는 API 리스펀스에 대한 제2 리스트를 제공할 수 있다.
6) 아웃바운드 API 리퀘스트의 디버깅 아이콘에 대한 정보(636)는 대응되는 아웃바운드 API 리퀘스트를 디버깅할 때 사용될 수 있다. 보다 상세하게는, 전자 장치(100)는 복수 개의 아웃바운드 API 리퀘스트 중 제1 아웃바운드 API 리퀘스트(611)만 curl하여 테스트할 수 있도록 리스트 페이지(600)에 해당 아웃바운드 API 리퀘스트의 디버깅 아이콘을 표시하여 제공할 수 있다.
7) 아웃바운드 API 리퀘스트의 전송 시간에 대한 정보(637)는 아웃바운드 API 리퀘스트가 전송된 시간에 대한 정보를 포함할 수 있다. 예를 들어, 제1 아웃바운드 API 리퀘스트는 2022.05.13 9시 5분 59초에 전송되었음을 확인할 수 있다.
살펴본 바와 같이, 리스트 페이지(600)의 제2 리스트에 대응되는 아이콘을 통한 입력에 대응하여, 전자 장치(100)는 아웃바운드 API 리퀘스트 및 API 리스펀스를 포함하는 제2 페이지를 제공할 수 있다. 도 7a 및 도 7b에서 리스트 페이지(600)의 제1 아웃바운드 API 리퀘스트(611) 및 대응되는 API 리스펀스를 표시하는 제2 페이지에 대해 설명하기로 한다.
도 7a는 제1 아웃바운드 API 리퀘스트(611)의 리퀘스트 헤더의 소스 코드에 대한 화면을 나타내고 있다.
일 실시 예에 따르면, 전자 장치(100)는 리퀘스트에 대한 아이콘(710), 레퀘스트 헤더에 대한 아이콘(720) 및 리스펀스에 대한 아이콘(730)을 통한 입력에 대응하여, 제1 아웃바운드 API 리퀘스트(611), 제1 아웃바운드 API 리퀘스트(611)의 리퀘스트 헤더 및 제1 아웃바운드 API 리퀘스트(611)에 대응하는 API 리스펀스에 대한 소스 코드를 포함하는 제2 리스트를 제공할 수 있다.
도 7a를 참조하면, 제1 화면(700)은 제1 아웃바운드 API 리퀘스트(611)의 리퀘스트 헤더의 소스 코드에 대한 화면일 수 있다. 제1 아웃바운드 API 리퀘스트(611)은 "hotkeyword"에 대한 리퀘스트일 수 있다.
본원에서, 아웃바운드 API 리퀘스트는 HTTP 규약에 따른 리퀘스트일 수 있고, 서비스 서버 호스트 이름 및 포트 번호와 관련된"HOST"에 대한 라인(721), 최근 접속한 웹 페이지의 URL 주소 정보와 관련된 "REFERER"에 대한 라인(722), 서버가 지원 가능한 언어와 관련된 "ACCEPT-LANGUAGE"에 대한 라인(723), 서버가 처리 가능한 미디어 타입 종류와 관련된 "ACCEPT"에 대한 라인(724) 및 서버에서 지원되는 압축 방식에 관련된 "ACCEPT ENCODING"에 대한 라인(725)를 포함할 수 있다.
도 7b는 제1 아웃바운드 API 리퀘스트(611)에 대응되는 API 리스펀스의 소스 코드에 대한 화면을 나타내고 있다.
도 7b를 참조하면, 제2 화면(750)은 제1 아웃바운드 API 리퀘스트(611)에 대응되는 API 리퀘스트에 대한 화면일 수 있다. 전자 장치(100)는 리스펀스에 대한 아이콘(730)을 통한 입력에 대응하여, API 리스펀스에 대한 소스 코드를 포함하는 제2 리스트를 제고할 수 있다. 제2 화면(750)은 제1 아웃바운드 API 리퀘스트(611)에 대응되는 Status 정보(731)인 "200"을 포함할 수 있다. 따라서, 서비스 서버(120)가 제1 아웃바운드 API 리퀘스트(611)를 정상적으로 처리했음을 알 수 있다.
API 리스펀스는 "hotkeyword"에 대한 제1 아웃바운드 API 리퀘스트(611)에 대응되는 API 리스펀스로, 키워드 및 키워드에 대한 등급에 대한 정보를 포함할 수 있다. 예를 들면, API 리스펀스는 키워드 목록으로 "식용유", "연애고사", "쉬폰핑크", "1번", "카놀라유"을 포함할 수 있고, 대응되는 등급으로 "0", "10", "10", "10", "10"을 포함할 수 있다.
도 8은 일 실시 예에 따른, 제1 단말 및 제2 단말을 통해 오류가 있다고 API 리퀘스트 또는 API 리스펀스를 수정하는 실시 예에 관한 도면이다.
전자 장치(100)가 제공하는 리스트 페이지를 통해, 제1 단말(110)의 기능 수행에 대응되는 API 리퀘스트(여기서, API 리퀘스트는 인바운드 API 리퀘스트 및 아웃바운드 API 리퀘스트를 포함할 수 있다.) 및 API 리스펀스 중 오류가 있다고 확인된 API 리퀘스트 또는 API 리스펀스를 확인할 수 있다. 이에 따라, 하기에서는 오류가 있다고 확인된 API 리퀘스트 또는 API 리스펀스를 수정하는 구체적인 실시 예에 대해 살펴보기로 한다.
일 실시 예에 따르면, 전자 장치(100)는 제1 단말(110)로부터 오류가 있다고 확인된 대상 인바운드 API 리퀘스트(810)에 대한 정보를 확인할 수 있다. 아웃바운드 API 리퀘스트 또는 API 리스펀스에 오류가 있는 것으로 확인되면, 전자 장치(100)는 오류가 있다고 확인된 아웃바운드 API 리퀘스트 또는 API 리스펀스와 대응되는 대상 인바운드 API 리퀘스트(810)에 대한 정보를 수신할 수 있다.
이에 따라, 전자 장치(100)는 대상 인바운드 API 리퀘스트(810)에 대한 정보를 기반으로 제2 식별 정보, 대상 인바운드 API 리퀘스트에 대응되는 URL 정보 및 대상 인바운드 API 리퀘스트에 대응되는 시간 정보를 확인할 수 있다. 이에 따라, 전자 장치(100)는 제1 식별 정보, 제2 식별 정보, 대상 인바운드 API 리퀘스트(810)에 대응되는 URL 정보 및 대상 인바운드 API 리퀘스트에 대응되는 시간 정보를 포함하는 정보(820)를 제2 단말(800)로 전송할 수 있다.
다만, 제2 단말(800)은 하기와 같은 다른 실시 예에 따라 정보(820)와 동일한 정보(830)을 수신할 수도 있다. 예를 들어, 리스트 페이지에 제1 단말(110)에 대응되는 제1 식별 정보를 검색함으로써, 다른 단말을 사용하는 사용자도 제1 단말(110)의 기능 실행에 매칭되는 API 리퀘스트 및 API 리스펀스를 표시하는 리스트 페이지를 확인할 수 있다. 이에 따라, 제1 단말(110)의 사용자는 제2 단말(800)의 사용자에게 API 리퀘스트 및 API 리스펀스를 표시하는 리스트 페이지를 공유할 수 있다. 따라서, 서로 다른 단말을 사용하는 복수의 사용자들은 리스트 페이지를 통해, API 리퀘스트 및 API 리스펀스 중 오류가 있는 부분을 함께 수정하여 테스트할 수 있다. 제1 단말(110)의 사용자는 리스트 페이지를 통해 오류가 있는 인바운드 API 리퀘스트를 확인한 후, 제1 식별 정보, 제2 식별 정보, 대상 인바운드 API 리퀘스트(810)에 대응되는 URL 정보 및 대상 인바운드 API 리퀘스트에 대응되는 시간 정보를 포함하는 정보(830)를 제2 단말(800)로 전송할 수 있다.
제1 식별 정보, 제2 식별 정보, 대상 인바운드 API 리퀘스트(810)에 대응되는 URL 정보 및 대상 인바운드 API 리퀘스트에 대응되는 시간 정보를 획득한 제2 단말(800)의 사용자는 리스트 페이지에 제1 식별 정보를 검색함으로써, 제1 단말(110)에서 오류가 있다고 확인된 대상 인바운드 API 리퀘스트(810)를 식별할 수 있다. 이에 따라, 제2 단말(800)의 사용자는 대상 인바운드 API 리퀘스트(810), 대상 인바운드 API 리퀘스트(810)에 대응되는 아웃 바운드 API 리퀘스트 및 API 리스펀스 중 오류가 있는 API 리퀘스트 또는 API 리스펀스를 확인할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 제2 단말(110)로부터 인바운드 API 리퀘스트, 인바운드 API 리퀘스트와 대응되는 아웃바운드 API 리퀘스트 및 API 리스펀스 중 적어도 하나를 수정한 수정 데이터(840)를 수신할 수 있다. 예를 들어, 도 8의 수정 데이터(840)는 API 리스펀스에 오류가 있는 요소를 수정한 데이터일 수 있다. 보다 상세하게는, 전자 장치(100)는 수정 데이터(840)에 기반하여, 인바운드 API 리퀘스트, 대응되는 아웃바운드 API 리퀘스트 및 API 리스펀스 중 적어도 하나를 수정할 수 있다. 예를 들어, 수정 전의 API 리스펀스는 무료 배송의 임계 가격과 관련하여 "fresh": 15000, "global": 29800(851)라는 리스펀스를 포함할 수 있다. 또한, 전자 장치(100)는 수정 데이터(840)에 기반하여 fresh": 15000, "global": 29800(851)를 fresh": 29800, "global": 15000(852)로 수정할 수 있다. 이에 따라, 전자 장치(100)는 수정 데이터(840)을 기반으로 수정된 API 리스펀스(860)에 따라, 제1 단말(110)은 제1 단말(110)의 기능을 개선하여 수행할 수 있다.
도 9는 인바운드 API 리퀘스트에 대응되는 아웃바운드 API 리퀘스트의 세트를 수정하는 실시 예를 설명하기 위한 도면이다.
도 9는 Index 넘버 12인 "category-layer"에 대한 인바운드 API 리퀘스트에 대응되는 복수 개의 아웃바운드 API 리퀘스트의 세트에 포함되는 아웃바운드 API 리퀘스트 개수에 따른 제1 리스트 페이지(900), 제2 리스트 페이지(930) 및 제3 리스트 페이지(960)을 나타내고 있다.
1) 일 실시 예에 따르면, 전자 장치(100)는 제2 식별 정보에 기반하여, 데이터 스토리지로부터 인바운드 API 리퀘스트와 대응되는 아웃바운드 API 리퀘스트의 세트를 확인하고, 세트에 포함되는 아웃바운드 API 리퀘스트 중 중복되는 아웃바운드 API인 제1 아웃바운드 API 리퀘스트를 확인하고, 세트에서 제1 아웃바운드 API 리퀘스트를 삭제하여 수정된 세트를 확인하고, 및 인바운드 API 리퀘스트를 재 확인하면 수정된 세트에 기반하여 제2 식별 정보를 포함하는 수정된 세트의 아웃바운드 API 리퀘스트를 전송할 수 있다.
예를 들어, 제2 리스트 페이지(930)에 표시된 Index 넘버 12인 "category-layer"에 대한 인바운드 API 리퀘스트에 대응되는 아웃바운드 API 리퀘스트의 세트는 4개의 아웃바운드 API 리퀘스트를 포함할 수 있다. 다만, 제1 아웃바운드 API 리퀘스트(931) 및 제2 아웃바운드 API 리퀘스트(932)는 중복될 수 있다. 제1 아웃바운드 API 리퀘스트(931) 및 제2 아웃바운드 API 리퀘스트(932)가 중복되면, 제1 단말(110)에서 동일한 기능을 수행하더라도 API 리퀘스트 및 API 리스펀스 과정에서 더 많은 리소스가 할당되는 문제가 있다. 이에 따라, 전자 장치(100)는 제1 아웃바운드 API 리퀘스트(931) 및 제2 아웃바운드 API 리퀘스트(932) 중 하나를 삭제하여 아웃바운드 API 리퀘스트의 수정된 세트를 확인할 수 있다. 예를 들면, 제1 리스트 페이지(900)에서와 같이 수정된 세트는 중복되지 않는 3개의 아웃바운드 API 리퀘스트로 구성될 수 있다.
2) 일 실시 예에 따르면, 전자 장치(100)는 제2 식별 정보에 기반하여 데이터 스토리지로부터 인바운드 API 리퀘스트와 대응되는 아웃바운드 API 리퀘스트의 세트를 확인하고, API에 대한 스펙 정보에 기반하여, 세트에 포함되지 않는 제1 아웃바운드 API 리퀘스트를 확인하고, 세트에 제1 아웃바운드 API 리퀘스트를 추가하여 수정된 세트를 확인하고 및 인바운드 API 리퀘스트를 재 확인하면, 수정된 세트에 기반하여 제2 식별 정보를 포함하는 수정된 세트의 아웃바운드 API 리퀘스트를 전송할 수 있다.
예를 들어, 제2 리스트 페이지(930)에 표시된 Index 넘버 12인 "category-layer"에 대한 인바운드 API 리퀘스트에 대응되는 아웃바운드 API 리퀘스트의 세트는 2개의 아웃바운드 API 리퀘스트를 포함할 수 있다. 전자 장치(100)는 인바운드 API 리퀘스트에 대응되는 API에 대한 스펙 정보에 기반하여, 아웃바운드 API 리퀘스트의 세트에 포함되지 않은 제3 아웃바운드 API 리퀘스트(903)를 확인할 수 있다. 여기서, 인바운드 API 리퀘스트에 대응되는 API에 대한 스펙 정보는 통상적으로 인바운드 API 리퀘스트에 대응되는 복수 개의 아웃바운드 API 리퀘스트의 세트에 대한 정보일 수 있다. 예를 들어, Index 넘버 12인 "category-layer"에 대한 인바운드 API 리퀘스트에 대응되는 API에 대한 스펙 정보는 제1 아웃바운드 API 리퀘스트(901), 제2 아웃바운드 API 리퀘스트(902) 및 제3 아웃바운드 API 리퀘스트(903)를 포함하는 제1세트에 대한 정보를 포함할 수 있다. 이에 따라, 전자 장치(100)는 아웃바운드 API 리퀘스트의 세트 및 제1 세트를 비교하여, API 리퀘스트의 세트에 포함되지 않는 제3 아웃바운드 API 리퀘스트(903)를 확인할 수 있다. 이에 따라, 전자 장치(100)는 아웃바운드 API 리퀘스트의 세트에서 제3 아웃바운드 API 리퀘스트(903)를 추가함으로써 아웃바운드 API 리퀘스트의 수정된 세트를 확인할 수 있다. 예를 들면, 제1 리스트 페이지(900)에서와 같이 수정된 세트는 3개의 아웃바운드 API 리퀘스트로 구성될 수 있다.
일 실시 예에 따르면, 전자 장치(100)가 제공한 리스트 페이지를 통해 아웃바운드 API 리퀘스트에 모의 데이터(Mock data) 사용 여부에 대한 정보(634)에서 살펴본 바와 같이, API 리퀘스트 및 API 리스펀스를 모의 데이터로 수정할 수 있다. 이에 대한 내용을 하기에서 자세히 살펴보기로 한다.
도 10a, 도 10b 및 도 10c는 API 리퀘스트 및 API 리스펀스를 모의하는 일 실시 예를 나타내는 도면이다.
도 10a를 참조하면, 전자 장치(100)가 제공하는 리스트 페이지(1000)이 도시되어 있다. 사용자는 API 리퀘스트 및 API 리스펀스 중 Mocking이 요구되는 대상 API 리퀘스트 또는 대상 API 리스펀스를 확인할 수 있다. 예를 들어, 사용자는 리스트 페이지에서 Mocking이 필요한 제1 아웃바운드 API 리퀘스트(1011) 및 제2 아웃바운드 API 리퀘스트(1012)를 선택하고, "Save as mock data"(1020)를 클릭할 수 있다. 또한, 사용자는 제1 아웃바운드 API 리퀘스트(1011)에 대응되는 API 리스펀스에 Mocking이 필요한 경우에도 제1 아웃바운드 API 리퀘스트(1011)를 선택할 수 있다.
도 10b를 참조하면, "Save as mock data"(1020) 클릭에 대응하여, 전자 장치(100)는 mock data 관한 정보를 입력하는 페이지(1030)을 표시할 수 있다. 예를 들어, 사용자는 페이지(1030)을 통해 프로젝트로 "Test Project"(1031), Scenario로 "A"(1032) 및 Group name을 "test for A"(1033)로 입력 할 수 있고, "Save"(1034)를 클릭하여 mock data에 관한 정보를 저장할 수 있다.
도 10c를 참조하면, 전자 장치(100)는 Mocking이 요구되는 대상 API 리퀘스트 또는 대상 API 리스펀스 를 편집하는 페이지(1040)를 제공할 수 있다. 예를 들어, 사용자는 페이지(1040)을 통해 프로젝트 이름으로 "Test Project"(1041), Scenario로 "A"(1042)를 입력함으로써, "Test Project"프로젝트에 "A"이름으로 저장된 Mock data의 리스트를 확인할 수 있다. 사용자는 페이지(1040)에 표시되는 URL 및 Create Time에 대한 정보에 기반하여, Mock data의 리스트에서 Mocking이 요구되는 대상 API 리퀘스트 또는 대상 API 리스펀스를 확인할 수 있다. 이에 따라, 페이지(1040)의 Edit 아이콘(1043)을 통한 입력에 대응하여 전자 장치(100)는 입력이 수신된 대상 API 리퀘스트 또는 대상 API 리스펀스를 편집하기 위한 인터페이스를 제공할 수 있다.
도 11은 일 실시 예에 따른 정보를 제공하기 위한 전자 장치를 도식화한 블록도이다.
도 11의 전자 장치(1100)은 본원 명세서의 전자 장치(100)에 대응될 수 있다.
본 개시의 전자 장치(1100)는 일 실시 예에 따라, 트랜시버(1110), 프로세서(1120) 및 스토리지(1130)를 포함할 수 있다. 도 11에 도시된 구성요소들은 전자 장치를 구현하는데 있어서 필수적인 것은 아니어서, 본 명세서 상에서 설명되는 전자 장치(1100)는 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있음을 본 실시 예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다. 한편 실시 예에서 프로세서(1120)는 적어도 하나의 프로세서를 포함할 수 있다. 또한, 전자 장치(1100)는 서버 또는 프록시 서버(Proxy Server)로 동작할 수도 있다.
트랜시버(1110)는 유무선 통신 기술을 이용하여 외부의 장치와 통신할 수 있으며 트랜시버(1110)를 포함할 수 있다. 외부의 장치는 개발자, 품질 보증 팀의 단말을 포함하는 단말 또는 서버가 될 수 있다. 또한, 트랜시버(1110)가 이용하는 통신 기술에는 GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), LTE(Long Term Evolution), 5G, WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), ZigBee, NFC(Near Field Communication) 등이 있을 수 있으며, 이에 한정되는 것은 아니다.
일 실시 예에 따라, 트랜시버(1110)는 제1 단말(110) 및 서비스 서버(120)과 통신하여 정보를 주고받을 수 있다. 보다 구체적으로, 트랜시버(1100)는 서비스 서버(120)와 API 리퀘스트 및 API 리스펀스를 송수신할 수 있다. 예를 들어, 트랜시버(1100)는 제1 단말(110)로부터 범용 고유 식별자와 같은 정보를 획득할 수 있다. 트랜시버(1100)는 서비스 서버(120)로 제2 식별 정보를 포함하는 아웃바운드 API 리퀘스를 전송하고, 서비스 서버로부터 아웃바운드 API 리퀘스트에 대응하는 API 리스펀스를 수신할 수 있다.
프로세서(1120)는 전자 장치(1100)의 전반적인 동작을 제어하고 데이터 및 신호를 처리할 수 있다. 프로세서(1120)는 도 1 내지 도 11를 통하여 전술한 하나의 방법을 수행할 수 있다. 프로세서(1120)는 트랜시버(1110) 및 스토리지(1130)와, 나아가 전자 장치(1100)가 더 포함할 수 있는 구성요소들과의 상호 작용을 통해 전자 장치(1100)가 수행하는 실시 예들을 제어할 수 있다. 일 실시 예에 따라, 프로세서(1120)는 제1 단말로부터 획득된 정보를 기반으로 요청자에 대한 제1 식별 정보 및 API에 대한 요청 정보를 포함하는 인바운드 API 리퀘스트를 확인하고, 인바운드 API 리퀘스트에 제2 식별 정보를 할당하고, 인바운드 API 리퀘스트에 대응하는 서비스 서버를 확인하고, 인바운드 API 리퀘스트를 기반으로 서비스 서버(120)에 제2 식별 정보를 포함하는 아웃바운드 API 리퀘스트를 전송하고, 서비스 서버(120)로부터 아웃바운드 API 리퀘스트에 대응하는 API 리스펀스를 수신하고, 및 인바운드 API 리퀘스트, 아웃바운드 API 리퀘스트 및 API 리스펀스에 대한 리스트 페이지를 제공할 수 있다.
스토리지(1130)는 도 1 내지 도 11를 통하여 전술한 적어도 하나의 방법을 수행하기 위한 정보를 저장할 수 있다. 스토리지(1130)는 메모리로 호칭될 수 있고, 휘발성 메모리 또는 비휘발성 메모리일 수 있다. 예를 들어, 스토리지(1130)은 도 3의 데이터 스토리지를 포함할 수 있다.
한편, 본 명세서와 도면에는 본 발명의 바람직한 실시 예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
전술한 실시 예들에 따른 전자 장치 또는 단말은, 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 아이콘 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-Access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
본 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시 예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler), 파이썬(Python) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시 예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “매커니즘”, “요소”, “수단”, “구성”과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
전술한 실시 예들은 일 예시일 뿐 후술하는 청구항들의 범위 내에서 다른 실시 예들이 구현될 수 있다.

Claims (14)

  1. 전자 장치에서 정보를 제공하는 방법에 있어서,
    제1 단말로부터 획득된 정보를 기반으로 요청자에 대한 제1 식별 정보 및 API(Application Programming Interface)에 대한 요청 정보를 포함하는 인바운드 API 리퀘스트(Inbound API Request)를 확인하는 단계;
    상기 인바운드 API 리퀘스트에 제2 식별 정보를 할당하는 단계;
    상기 인바운드 API 리퀘스트에 대응하는 서비스 서버를 확인하는 단계;
    상기 인바운드 API 리퀘스트를 기반으로 상기 서비스 서버에 상기 제2 식별 정보를 포함하는 아웃바운드 API 리퀘스트(Outbound API Request)를 전송하는 단계;
    상기 서비스 서버로부터 상기 아웃바운드 API 리퀘스트에 대응하는 API 리스펀스(API Response)를 수신하는 단계; 및
    상기 인바운드 API 리퀘스트, 상기 아웃바운드 API 리퀘스트 및 상기 API 리스펀스에 대한 리스트 페이지를 제공하는 단계를 포함하는 정보 제공 방법.
  2. 제1항에 있어서,
    상기 제1 식별 정보에 기반하여, 상기 제1 단말에 대응되는 상기 인바운드 API 리퀘스트를 확인하는 단계;
    상기 제2 식별 정보에 기반하여 상기 인바운드 API 리퀘스트에 대응되는 상기 아웃바운드 API 리퀘스트 및 상기 API 리스펀스를 확인하는 단계; 및
    상기 제1 식별 정보 및 상기 제2 식별 정보를 기반으로 상기 제1 식별 정보, 제2 식별 정보, 상기 인바운드 API 리퀘스트, 상기 아웃바운드 API 리퀘스트 및 상기 API 리스펀스를 매칭하여 데이터 스토리지에 저장하는 단계를 더 포함하는 정보 제공 방법.
  3. 제2항에 있어서,
    상기 리스트 페이지를 제공하는 단계는,
    상기 제1 식별 정보를 이용하여 상기 데이터 스토리지에 저장된 복수 개의 인바운드 API 리퀘스트 중 상기 제1 단말과 대응되는 상기 인바운드 API 리퀘스트를 확인하는 단계;
    상기 제2 식별 정보를 이용하여 상기 데이터 스토리지에 저장된 복수 개의 아웃바운드 API 리퀘스트 및 복수 개의 API 리스펀스 중에서 상기 인바운드 API 리퀘스트와 대응되는 아웃바운드 API 리퀘스트의 세트 및 상기 API 리스펀스의 세트를 확인하는 단계;
    상기 인바운드 API 리퀘스트와 매칭되는 상기 아웃바운드 API 리퀘스트의 세트에 대한 제1 리스트와 상기 아웃바운드 API 리퀘스트 및 상기 API 리스펀스에 대한 제2 리스트를 포함하는 상기 리스트 페이지를 제공하는 단계를 포함하는 정보 제공 방법.
  4. 제3항에 있어서,
    상기 제1 단말로부터 획득된 상기 제1 페이지 상의 상기 API 아웃바운드 API 리퀘스트에 대응되는 입력의 수신에 대응하여 상기 제2 리스트를 제공하는 것을 특징으로 하는 정보 제공 방법.
  5. 제1항에 있어서,
    상기 서비스 서버를 확인하는 단계는,
    상기 인바운드 API 리퀘스트와 동일한 상기 제2 식별 정보를 가지는 상기 아웃바운드 API 리퀘스트를 확인하는 단계; 및
    상기 아웃바운드 API 리퀘스트와 대응되는 상기 서비스 서버를 확인하는 단계를 포함하는 정보 제공 방법.
  6. 제3항에 있어서,
    상기 리스트 페이지를 제공하는 단계는,
    상기 인바운드 API 리퀘스트를 제1 레벨로 표시하고, 상기 제1 레벨보다 낮은 제2 레벨로 상기 아웃바운드 API 리퀘스트를 표시함으로써, 상기 리스트 페이지를 제공하는 단계를 포함하는 정보 제공 방법.
  7. 제3항에 있어서,
    상기 리스트 페이지를 제공하는 단계는,
    상기 아웃바운드 API 리퀘스트의 파일 사이즈에 대한 정보, 상기 아웃바운드 API 리퀘스트에 대응되는 Method 정보, 상기 아웃바운드 API 리퀘스트에 대응되는 Status 정보, 상기 아웃바운드 API 리퀘스트에 모의 데이터(Mock data) 사용 여부에 대한 정보, 상기 아웃바운드 API 리퀘스트의 전송 시간에 대한 정보, 상기 제2 리스트에 대응되는 아이콘에 대한 정보 및 상기 아웃바운드 API 리퀘스트의 디버깅 아이콘에 대한 정보 중 적어도 하나를 표시하여 상기 리스트 페이지를 제공하는 단계를 포함하는 정보 제공 방법.
  8. 제1항에 있어서,
    상기 API 리스펀스를 수신하는 단계는,
    상기 제2 식별 정보를 포함하는 상기 아웃바운드 API 리퀘스트의 전송에 따른 응답을 대기하는 단계; 및
    상기 서비스 서버로부터 상기 아웃바운드 API 리퀘스트에 대한 응답인 상기 API 리스펀스를 수신하는 단계를 포함하는 정보 제공 방법.
  9. 제3항에 있어서,
    상기 제2 식별 정보에 기반하여, 상기 데이터 스토리지로부터 상기 인바운드 API 리퀘스트와 대응되는 아웃바운드 API 리퀘스트의 세트를 확인하는 단계;
    상기 세트에 포함되는 아웃바운드 API 리퀘스트 중 중복되는 아웃바운드 API인 제1 아웃바운드 API 리퀘스트를 확인하는 단계;
    상기 세트에서 상기 제1 아웃바운드 API 리퀘스트를 삭제하여 수정된 세트를 확인하는 단계; 및
    상기 인바운드 API 리퀘스트를 재 확인하면, 상기 수정된 세트에 기반하여 상기 제2 식별 정보를 포함하는 상기 수정된 세트의 아웃바운드 API 리퀘스트를 전송하는 단계를 더 포함하는 정보 제공 방법.
  10. 제3항에 있어서,
    상기 제2 식별 정보에 기반하여, 상기 데이터 스토리지로부터 상기 인바운드 API 리퀘스트와 대응되는 아웃바운드 API 리퀘스트의 세트를 확인하는 단계;
    상기 API에 대한 스펙 정보에 기반하여, 상기 세트에 포함되지 않는 제1 아웃바운드 API 리퀘스트를 확인하는 단계;
    상기 세트에 상기 제1 아웃바운드 API 리퀘스트를 추가하여 수정된 세트를 확인하는 단계; 및
    상기 인바운드 API 리퀘스트를 재 확인하면, 상기 수정된 세트에 기반하여 상기 제2 식별 정보를 포함하는 상기 수정된 세트의 아웃바운드 API 리퀘스트를 전송하는 단계를 더 포함하는 정보 제공 방법.
  11. 제3항에 있어서,
    상기 제1 단말로부터 오류가 있다고 확인된 상기 인바운드 API 리퀘스트에 대한 정보를 수신하는 단계;
    상기 인바운드 API 리퀘스트에 대한 정보에 기반하여 상기 제2 식별 정보, 상기 인바운드 API 리퀘스트에 대응되는 URL 정보 및 상기 인바운드 API 리퀘스트에 대응되는 시간 정보를 확인하는 단계; 및
    상기 제1 식별 정보, 상기 제2 식별 정보, 상기 URL 정보 및 상기 시간 정보를 제2 단말로 전송하는 단계를 더 포함하는 정보 제공 방법.
  12. 제10항에 있어서,
    상기 제2 단말로부터 상기 인바운드 API 리퀘스트, 상기 아웃바운드 API 리퀘스트 및 상기 API 리스펀스 중 적어도 하나를 수정한 수정 데이터를 수신하는 단계; 및
    상기 수정 데이터에 기반하여, 상기 인바운드 API 리퀘스트, 상기 아웃바운드 API 리퀘스트 및 상기 API 리스펀스 중 적어도 하나를 수정하는 단계를 더 포함하는 정보 제공 방법.
  13. 정보를 제공하기 위한 전자 장치에 있어서,
    트랜시버;
    하나 이상의 명령어를 저장하는 스토리지; 및
    제1 단말로부터 획득된 정보를 기반으로 요청자에 대한 제1 식별 정보 및 API에 대한 요청 정보를 포함하는 인바운드 API 리퀘스트를 확인하고,
    상기 인바운드 API 리퀘스트에 제2 식별 정보를 할당하고,
    상기 인바운드 API 리퀘스트에 대응하는 서비스 서버를 확인하고,
    상기 인바운드 API 리퀘스트를 기반으로 상기 서비스 서버에 상기 제2 식별 정보를 포함하는 아웃바운드 API 리퀘스트를 전송하고,
    상기 서비스 서버로부터 상기 아웃바운드 API 리퀘스트에 대응하는 API 리스펀스를 수신하고, 및
    상기 인바운드 API 리퀘스트, 상기 아웃바운드 API 리퀘스트 및 상기 API 리스펀스에 대한 리스트 페이지를 제공하는 프로세서를 포함하는 전자 장치.
  14. 제1항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적 기록매체.
PCT/KR2022/009426 2022-06-29 2022-06-30 정보를 제공하는 방법 및 장치 WO2024005236A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2022-0079615 2022-06-29
KR1020220079615A KR20240002425A (ko) 2022-06-29 2022-06-29 정보를 제공하는 방법 및 장치

Publications (1)

Publication Number Publication Date
WO2024005236A1 true WO2024005236A1 (ko) 2024-01-04

Family

ID=89380753

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/009426 WO2024005236A1 (ko) 2022-06-29 2022-06-30 정보를 제공하는 방법 및 장치

Country Status (3)

Country Link
KR (1) KR20240002425A (ko)
TW (1) TW202411916A (ko)
WO (1) WO2024005236A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140215057A1 (en) * 2013-01-28 2014-07-31 Rackspace Us, Inc. Methods and Systems of Monitoring Failures in a Distributed Network System
KR101996358B1 (ko) * 2017-08-21 2019-07-03 주식회사 스패로우 웹 애플리케이션의 동적 분석을 위한 api 호출 정보 제공 방법 및 장치
KR102005107B1 (ko) * 2019-01-29 2019-07-29 엘아이지넥스원 주식회사 Api 호출 시퀀스를 이용한 악성코드의 기능 분석 방법 및 장치
US10664535B1 (en) * 2015-02-02 2020-05-26 Amazon Technologies, Inc. Retrieving log data from metric data
KR102407334B1 (ko) * 2021-12-24 2022-06-10 이데아텍(주) 게이트웨이 장치 및 그 동작 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140215057A1 (en) * 2013-01-28 2014-07-31 Rackspace Us, Inc. Methods and Systems of Monitoring Failures in a Distributed Network System
US10664535B1 (en) * 2015-02-02 2020-05-26 Amazon Technologies, Inc. Retrieving log data from metric data
KR101996358B1 (ko) * 2017-08-21 2019-07-03 주식회사 스패로우 웹 애플리케이션의 동적 분석을 위한 api 호출 정보 제공 방법 및 장치
KR102005107B1 (ko) * 2019-01-29 2019-07-29 엘아이지넥스원 주식회사 Api 호출 시퀀스를 이용한 악성코드의 기능 분석 방법 및 장치
KR102407334B1 (ko) * 2021-12-24 2022-06-10 이데아텍(주) 게이트웨이 장치 및 그 동작 방법

Also Published As

Publication number Publication date
TW202411916A (zh) 2024-03-16
KR20240002425A (ko) 2024-01-05

Similar Documents

Publication Publication Date Title
WO2013187634A1 (ko) 프리젠테이션 자료를 이용한 설문 시스템, 방법 및 상기 프리젠테이션 자료를 생성하기 위한 플러그-인 프로그램이 저장 된 저장 매체
WO2016085180A1 (en) Method of managing cookie information for target advertisement and application for managing cookie information
WO2022177052A1 (ko) 아이템에 관련된 정보를 공유하는 방법 및 전자 장치
WO2013165180A1 (ko) 로그 모니터링 방법, 그 서버 및 기록 매체
WO2020077832A1 (zh) 云桌面的访问方法、装置、设备及存储介质
WO2014035094A1 (ko) 통화 시도시 이동 통신 단말기로 부가 정보를 제공하는 시스템 및 방법
WO2014112727A1 (ko) 단축 url의 관리 방법, 관리 장치 및 그 관리를 수행하는 컴퓨터 프로그램을 저장한 저장 매체
US20230239375A1 (en) Deriving proxy stability without network inspection
WO2024005236A1 (ko) 정보를 제공하는 방법 및 장치
WO2022085830A1 (ko) 단말 개통 관련 정보 제공 방법 및 이의 전자 장치
WO2018080009A1 (en) Electronic apparatus for recording debugging information and control method thereof
WO2016186326A1 (ko) 검색어 리스트 제공 장치 및 이를 이용한 방법
WO2023080261A1 (ko) 시맨틱 온톨로지를 활용한 원엠투엠과 엔지에스아이-엘디 표준 플랫폼 간 연동 방법
WO2022145572A1 (ko) 예상 결과값을 토대로 정보를 제공하는 방법 및 이를 이용한 연산 장치
WO2014204189A1 (ko) 어플리케이션 실행의 개별단계를 위한 가상 공간 제공 시스템
CN111953718A (zh) 一种页面调试方法和装置
WO2024128402A1 (ko) 데이터를 제공하는 방법 및 장치
WO2024063183A1 (ko) 테스트를 수행하기 위한 방법 및 장치
WO2011065739A2 (ko) 로그 정보 제공 시스템 및 방법
WO2023080491A1 (ko) 애플리케이션 생성 서비스 제공 방법 및 장치
WO2024106621A1 (ko) 스크립트와 관련한 정보를 제공하는 전자 장치 및 그 방법
WO2024058295A1 (ko) 페이지에 대한 리포트를 제공하는 방법 및 장치
WO2014133343A1 (en) Apparatus and method for manufacturing web widget
WO2024005234A1 (ko) 정보를 제공하는 방법 및 장치
WO2024058299A1 (ko) Ab 테스트 코드 정보 관리를 위한 전자 장치 및 그 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22949529

Country of ref document: EP

Kind code of ref document: A1